`ifndef UDLY
`define UDLY 1
`endif
module fft__2(
  fft_cfg__start,
  sram__0__valid,
  sram__0__ready,
  sram__0__we_n,
  sram__0__addr,
  sram__0__wdata,
  sram__0__rdata,
  instr_sram__valid,
  instr_sram__ready,
  instr_sram__we_n,
  instr_sram__addr,
  instr_sram__wdata,
  instr_sram__rdata,
  exp_sram__valid,
  exp_sram__ready,
  exp_sram__we_n,
  exp_sram__addr,
  exp_sram__wdata,
  exp_sram__rdata,
  clk,
  rstn
);
//parameter declare
//port declare
input fft_cfg__start;
output sram__0__valid;
input sram__0__ready;
output sram__0__we_n;
output [31:0] sram__0__addr;
output [63:0] sram__0__wdata;
input [63:0] sram__0__rdata;
output instr_sram__valid;
input instr_sram__ready;
output instr_sram__we_n;
output [31:0] instr_sram__addr;
output [63:0] instr_sram__wdata;
input [15:0] instr_sram__rdata;
output exp_sram__valid;
input exp_sram__ready;
output exp_sram__we_n;
output [31:0] exp_sram__addr;
output [63:0] exp_sram__wdata;
input [63:0] exp_sram__rdata;
input clk;
input rstn;
//channel declare
//wire declare
logic __t_32;
logic __t_33;
logic __t_34;
logic [31:0] __t_35;
logic [31:0] __t_36;
logic __rd_valid_38;
logic __rd_ready_39;
logic __rd_grant_40;
logic [31:0] __rd_even_addr_41;
logic [31:0] __rd_odd_addr_43;
logic [63:0] __rd_odd_data_44;
logic __wr_valid_45;
logic __wr_ready_46;
logic __wr_grant_47;
logic [31:0] __wr_even_addr_48;
logic [63:0] __wr_add_data_49;
logic [31:0] __wr_odd_addr_50;
logic __fft_end_53;
logic __fetch_instr_enable_54;
logic __fft_calc_grant_60;
logic [3:0] __op_code_71;
logic [1:0] __cell_num_72;
logic [9:0] __immed_73;
logic __set_addr_74;
logic __get_exp_75;
logic __fft_calc_76;
logic __calc_end_77;
logic __set_space_addr_78;
logic __set_step_addr_79;
logic __pip_en_100;
logic __pip_en_101;
logic __pip_en_102;
logic __pip_en_103;
logic __sram_valid_104;
logic __sram_ready_105;
logic __we_n_106;
logic [31:0] __waddr_107;
logic [63:0] __wdata_108;
logic [63:0] __rdata_109;
logic __rd_even_data_ready_122;
logic __rd_odd_data_ready_123;
logic __wr_add_data_ready_124;
logic __wr_sub_data_ready_125;
logic [63:0] __out_add_132;
logic [63:0] __out_sub_133;
logic [63:0] __t_134;
logic [63:0] __e_135;
logic [31:0] __m_1_real_136;
logic [31:0] __m_2_real_137;
logic [31:0] __m_1_imag_138;
logic [31:0] __m_2_imag_139;
logic [31:0] __prod_real_140;
logic [31:0] __prod_imag_141;
logic [31:0] __real_x_real_142;
logic [31:0] __real_x_imag_143;
logic [31:0] __imag_x_real_144;
logic [31:0] __imag_x_imag_145;
logic __overflow_1_147;
logic __overflow_2_148;
logic __overflow_3_149;
logic __overflow_4_150;
logic __result_sign_151;
logic [8:0] __result_exp_152;
logic [8:0] __exp_add1_153;
logic [47:0] __result_factor_154;
logic [22:0] __valid_factor_norm_155;
logic [22:0] __valid_factor_shift_156;
logic __result_sign_158;
logic [8:0] __result_exp_159;
logic [8:0] __exp_add1_160;
logic [47:0] __result_factor_161;
logic [22:0] __valid_factor_norm_162;
logic [22:0] __valid_factor_shift_163;
logic __result_sign_165;
logic [8:0] __result_exp_166;
logic [8:0] __exp_add1_167;
logic [47:0] __result_factor_168;
logic [22:0] __valid_factor_norm_169;
logic [22:0] __valid_factor_shift_170;
logic __result_sign_172;
logic [8:0] __result_exp_173;
logic [8:0] __exp_add1_174;
logic [47:0] __result_factor_175;
logic [22:0] __valid_factor_norm_176;
logic [22:0] __valid_factor_shift_177;
logic [31:0] __neg_imag_x_imag_179;
logic [31:0] __result_180;
logic __sign_182;
logic [7:0] __expn_183;
logic [7:0] __expn_d_184;
logic [23:0] __mant_185;
logic [26:0] __mant_sft_186;
logic [26:0] __mant_sgn_187;
logic __sign_188;
logic [7:0] __expn_189;
logic [7:0] __expn_d_190;
logic [23:0] __mant_191;
logic [26:0] __mant_sft_192;
logic [26:0] __mant_sgn_193;
logic [1:0] __norms_194;
logic [7:0] __expn_aln_195;
logic [7:0] __shift_num_196;
logic __cond_197;
logic __cond_198;
logic __cond_199;
logic __cond_200;
logic __cond_201;
logic __cond_202;
logic __cond_203;
logic __cond_204;
logic __cond_205;
logic __cond_206;
logic __cond_207;
logic __cond_208;
logic __cond_209;
logic __cond_210;
logic __cond_211;
logic __cond_212;
logic __cond_213;
logic __cond_214;
logic __cond_215;
logic __cond_216;
logic __cond_217;
logic __cond_218;
logic __cond_219;
logic __cond_220;
logic [7:0] __shift_num_221;
logic __cond_222;
logic __cond_223;
logic __cond_224;
logic __cond_225;
logic __cond_226;
logic __cond_227;
logic __cond_228;
logic __cond_229;
logic __cond_230;
logic __cond_231;
logic __cond_232;
logic __cond_233;
logic __cond_234;
logic __cond_235;
logic __cond_236;
logic __cond_237;
logic __cond_238;
logic __cond_239;
logic __cond_240;
logic __cond_241;
logic __cond_242;
logic __cond_243;
logic __cond_244;
logic __cond_245;
logic [8:0] __expn_dif_246;
logic [7:0] __expn_10r_247;
logic [26:0] __mant_10_248;
logic [25:0] __mant_10_abs_249;
logic [48:0] __mant_padded_250;
logic [4:0] __lead_zeros_251;
logic __all_zero_252;
logic [9:0] __expn_sft_253;
logic __sum_sign_254;
logic [7:0] __sum_expn_255;
logic [22:0] __sum_mant_256;
logic __cond_257;
logic __cond_258;
logic __cond_259;
logic __cond_260;
logic __cond_261;
logic __cond_262;
logic __cond_263;
logic __cond_264;
logic __cond_265;
logic __cond_266;
logic __cond_267;
logic __cond_268;
logic __cond_269;
logic __cond_270;
logic __cond_271;
logic __cond_272;
logic __cond_273;
logic __cond_274;
logic __cond_275;
logic __cond_276;
logic __cond_277;
logic __cond_278;
logic __cond_279;
logic __cond_280;
logic __cond_281;
logic __cond_282;
logic [31:0] __result_283;
logic __sign_285;
logic [7:0] __expn_286;
logic [7:0] __expn_d_287;
logic [23:0] __mant_288;
logic [26:0] __mant_sft_289;
logic [26:0] __mant_sgn_290;
logic __sign_291;
logic [7:0] __expn_292;
logic [7:0] __expn_d_293;
logic [23:0] __mant_294;
logic [26:0] __mant_sft_295;
logic [26:0] __mant_sgn_296;
logic [1:0] __norms_297;
logic [7:0] __expn_aln_298;
logic [7:0] __shift_num_299;
logic __cond_300;
logic __cond_301;
logic __cond_302;
logic __cond_303;
logic __cond_304;
logic __cond_305;
logic __cond_306;
logic __cond_307;
logic __cond_308;
logic __cond_309;
logic __cond_310;
logic __cond_311;
logic __cond_312;
logic __cond_313;
logic __cond_314;
logic __cond_315;
logic __cond_316;
logic __cond_317;
logic __cond_318;
logic __cond_319;
logic __cond_320;
logic __cond_321;
logic __cond_322;
logic __cond_323;
logic [7:0] __shift_num_324;
logic __cond_325;
logic __cond_326;
logic __cond_327;
logic __cond_328;
logic __cond_329;
logic __cond_330;
logic __cond_331;
logic __cond_332;
logic __cond_333;
logic __cond_334;
logic __cond_335;
logic __cond_336;
logic __cond_337;
logic __cond_338;
logic __cond_339;
logic __cond_340;
logic __cond_341;
logic __cond_342;
logic __cond_343;
logic __cond_344;
logic __cond_345;
logic __cond_346;
logic __cond_347;
logic __cond_348;
logic [8:0] __expn_dif_349;
logic [7:0] __expn_10r_350;
logic [26:0] __mant_10_351;
logic [25:0] __mant_10_abs_352;
logic [48:0] __mant_padded_353;
logic [4:0] __lead_zeros_354;
logic __all_zero_355;
logic [9:0] __expn_sft_356;
logic __sum_sign_357;
logic [7:0] __sum_expn_358;
logic [22:0] __sum_mant_359;
logic __cond_360;
logic __cond_361;
logic __cond_362;
logic __cond_363;
logic __cond_364;
logic __cond_365;
logic __cond_366;
logic __cond_367;
logic __cond_368;
logic __cond_369;
logic __cond_370;
logic __cond_371;
logic __cond_372;
logic __cond_373;
logic __cond_374;
logic __cond_375;
logic __cond_376;
logic __cond_377;
logic __cond_378;
logic __cond_379;
logic __cond_380;
logic __cond_381;
logic __cond_382;
logic __cond_383;
logic __cond_384;
logic __cond_385;
logic [63:0] __neg_e_386;
logic [31:0] __a_1_real_387;
logic [31:0] __a_1_imag_388;
logic [31:0] __a_2_real_389;
logic [31:0] __a_2_imag_390;
logic [31:0] __sum_real_391;
logic [31:0] __sum_imag_392;
logic [31:0] __result_394;
logic __sign_396;
logic [7:0] __expn_397;
logic [7:0] __expn_d_398;
logic [23:0] __mant_399;
logic [26:0] __mant_sft_400;
logic [26:0] __mant_sgn_401;
logic __sign_402;
logic [7:0] __expn_403;
logic [7:0] __expn_d_404;
logic [23:0] __mant_405;
logic [26:0] __mant_sft_406;
logic [26:0] __mant_sgn_407;
logic [1:0] __norms_408;
logic [7:0] __expn_aln_409;
logic [7:0] __shift_num_410;
logic __cond_411;
logic __cond_412;
logic __cond_413;
logic __cond_414;
logic __cond_415;
logic __cond_416;
logic __cond_417;
logic __cond_418;
logic __cond_419;
logic __cond_420;
logic __cond_421;
logic __cond_422;
logic __cond_423;
logic __cond_424;
logic __cond_425;
logic __cond_426;
logic __cond_427;
logic __cond_428;
logic __cond_429;
logic __cond_430;
logic __cond_431;
logic __cond_432;
logic __cond_433;
logic __cond_434;
logic [7:0] __shift_num_435;
logic __cond_436;
logic __cond_437;
logic __cond_438;
logic __cond_439;
logic __cond_440;
logic __cond_441;
logic __cond_442;
logic __cond_443;
logic __cond_444;
logic __cond_445;
logic __cond_446;
logic __cond_447;
logic __cond_448;
logic __cond_449;
logic __cond_450;
logic __cond_451;
logic __cond_452;
logic __cond_453;
logic __cond_454;
logic __cond_455;
logic __cond_456;
logic __cond_457;
logic __cond_458;
logic __cond_459;
logic [8:0] __expn_dif_460;
logic [7:0] __expn_10r_461;
logic [26:0] __mant_10_462;
logic [25:0] __mant_10_abs_463;
logic [48:0] __mant_padded_464;
logic [4:0] __lead_zeros_465;
logic __all_zero_466;
logic [9:0] __expn_sft_467;
logic __sum_sign_468;
logic [7:0] __sum_expn_469;
logic [22:0] __sum_mant_470;
logic __cond_471;
logic __cond_472;
logic __cond_473;
logic __cond_474;
logic __cond_475;
logic __cond_476;
logic __cond_477;
logic __cond_478;
logic __cond_479;
logic __cond_480;
logic __cond_481;
logic __cond_482;
logic __cond_483;
logic __cond_484;
logic __cond_485;
logic __cond_486;
logic __cond_487;
logic __cond_488;
logic __cond_489;
logic __cond_490;
logic __cond_491;
logic __cond_492;
logic __cond_493;
logic __cond_494;
logic __cond_495;
logic __cond_496;
logic [31:0] __result_497;
logic __sign_499;
logic [7:0] __expn_500;
logic [7:0] __expn_d_501;
logic [23:0] __mant_502;
logic [26:0] __mant_sft_503;
logic [26:0] __mant_sgn_504;
logic __sign_505;
logic [7:0] __expn_506;
logic [7:0] __expn_d_507;
logic [23:0] __mant_508;
logic [26:0] __mant_sft_509;
logic [26:0] __mant_sgn_510;
logic [1:0] __norms_511;
logic [7:0] __expn_aln_512;
logic [7:0] __shift_num_513;
logic __cond_514;
logic __cond_515;
logic __cond_516;
logic __cond_517;
logic __cond_518;
logic __cond_519;
logic __cond_520;
logic __cond_521;
logic __cond_522;
logic __cond_523;
logic __cond_524;
logic __cond_525;
logic __cond_526;
logic __cond_527;
logic __cond_528;
logic __cond_529;
logic __cond_530;
logic __cond_531;
logic __cond_532;
logic __cond_533;
logic __cond_534;
logic __cond_535;
logic __cond_536;
logic __cond_537;
logic [7:0] __shift_num_538;
logic __cond_539;
logic __cond_540;
logic __cond_541;
logic __cond_542;
logic __cond_543;
logic __cond_544;
logic __cond_545;
logic __cond_546;
logic __cond_547;
logic __cond_548;
logic __cond_549;
logic __cond_550;
logic __cond_551;
logic __cond_552;
logic __cond_553;
logic __cond_554;
logic __cond_555;
logic __cond_556;
logic __cond_557;
logic __cond_558;
logic __cond_559;
logic __cond_560;
logic __cond_561;
logic __cond_562;
logic [8:0] __expn_dif_563;
logic [7:0] __expn_10r_564;
logic [26:0] __mant_10_565;
logic [25:0] __mant_10_abs_566;
logic [48:0] __mant_padded_567;
logic [4:0] __lead_zeros_568;
logic __all_zero_569;
logic [9:0] __expn_sft_570;
logic __sum_sign_571;
logic [7:0] __sum_expn_572;
logic [22:0] __sum_mant_573;
logic __cond_574;
logic __cond_575;
logic __cond_576;
logic __cond_577;
logic __cond_578;
logic __cond_579;
logic __cond_580;
logic __cond_581;
logic __cond_582;
logic __cond_583;
logic __cond_584;
logic __cond_585;
logic __cond_586;
logic __cond_587;
logic __cond_588;
logic __cond_589;
logic __cond_590;
logic __cond_591;
logic __cond_592;
logic __cond_593;
logic __cond_594;
logic __cond_595;
logic __cond_596;
logic __cond_597;
logic __cond_598;
logic __cond_599;
logic [31:0] __a_1_real_600;
logic [31:0] __a_1_imag_601;
logic [31:0] __a_2_real_602;
logic [31:0] __a_2_imag_603;
logic [31:0] __sum_real_604;
logic [31:0] __sum_imag_605;
logic [31:0] __result_607;
logic __sign_609;
logic [7:0] __expn_610;
logic [7:0] __expn_d_611;
logic [23:0] __mant_612;
logic [26:0] __mant_sft_613;
logic [26:0] __mant_sgn_614;
logic __sign_615;
logic [7:0] __expn_616;
logic [7:0] __expn_d_617;
logic [23:0] __mant_618;
logic [26:0] __mant_sft_619;
logic [26:0] __mant_sgn_620;
logic [1:0] __norms_621;
logic [7:0] __expn_aln_622;
logic [7:0] __shift_num_623;
logic __cond_624;
logic __cond_625;
logic __cond_626;
logic __cond_627;
logic __cond_628;
logic __cond_629;
logic __cond_630;
logic __cond_631;
logic __cond_632;
logic __cond_633;
logic __cond_634;
logic __cond_635;
logic __cond_636;
logic __cond_637;
logic __cond_638;
logic __cond_639;
logic __cond_640;
logic __cond_641;
logic __cond_642;
logic __cond_643;
logic __cond_644;
logic __cond_645;
logic __cond_646;
logic __cond_647;
logic [7:0] __shift_num_648;
logic __cond_649;
logic __cond_650;
logic __cond_651;
logic __cond_652;
logic __cond_653;
logic __cond_654;
logic __cond_655;
logic __cond_656;
logic __cond_657;
logic __cond_658;
logic __cond_659;
logic __cond_660;
logic __cond_661;
logic __cond_662;
logic __cond_663;
logic __cond_664;
logic __cond_665;
logic __cond_666;
logic __cond_667;
logic __cond_668;
logic __cond_669;
logic __cond_670;
logic __cond_671;
logic __cond_672;
logic [8:0] __expn_dif_673;
logic [7:0] __expn_10r_674;
logic [26:0] __mant_10_675;
logic [25:0] __mant_10_abs_676;
logic [48:0] __mant_padded_677;
logic [4:0] __lead_zeros_678;
logic __all_zero_679;
logic [9:0] __expn_sft_680;
logic __sum_sign_681;
logic [7:0] __sum_expn_682;
logic [22:0] __sum_mant_683;
logic __cond_684;
logic __cond_685;
logic __cond_686;
logic __cond_687;
logic __cond_688;
logic __cond_689;
logic __cond_690;
logic __cond_691;
logic __cond_692;
logic __cond_693;
logic __cond_694;
logic __cond_695;
logic __cond_696;
logic __cond_697;
logic __cond_698;
logic __cond_699;
logic __cond_700;
logic __cond_701;
logic __cond_702;
logic __cond_703;
logic __cond_704;
logic __cond_705;
logic __cond_706;
logic __cond_707;
logic __cond_708;
logic __cond_709;
logic [31:0] __result_710;
logic __sign_712;
logic [7:0] __expn_713;
logic [7:0] __expn_d_714;
logic [23:0] __mant_715;
logic [26:0] __mant_sft_716;
logic [26:0] __mant_sgn_717;
logic __sign_718;
logic [7:0] __expn_719;
logic [7:0] __expn_d_720;
logic [23:0] __mant_721;
logic [26:0] __mant_sft_722;
logic [26:0] __mant_sgn_723;
logic [1:0] __norms_724;
logic [7:0] __expn_aln_725;
logic [7:0] __shift_num_726;
logic __cond_727;
logic __cond_728;
logic __cond_729;
logic __cond_730;
logic __cond_731;
logic __cond_732;
logic __cond_733;
logic __cond_734;
logic __cond_735;
logic __cond_736;
logic __cond_737;
logic __cond_738;
logic __cond_739;
logic __cond_740;
logic __cond_741;
logic __cond_742;
logic __cond_743;
logic __cond_744;
logic __cond_745;
logic __cond_746;
logic __cond_747;
logic __cond_748;
logic __cond_749;
logic __cond_750;
logic [7:0] __shift_num_751;
logic __cond_752;
logic __cond_753;
logic __cond_754;
logic __cond_755;
logic __cond_756;
logic __cond_757;
logic __cond_758;
logic __cond_759;
logic __cond_760;
logic __cond_761;
logic __cond_762;
logic __cond_763;
logic __cond_764;
logic __cond_765;
logic __cond_766;
logic __cond_767;
logic __cond_768;
logic __cond_769;
logic __cond_770;
logic __cond_771;
logic __cond_772;
logic __cond_773;
logic __cond_774;
logic __cond_775;
logic [8:0] __expn_dif_776;
logic [7:0] __expn_10r_777;
logic [26:0] __mant_10_778;
logic [25:0] __mant_10_abs_779;
logic [48:0] __mant_padded_780;
logic [4:0] __lead_zeros_781;
logic __all_zero_782;
logic [9:0] __expn_sft_783;
logic __sum_sign_784;
logic [7:0] __sum_expn_785;
logic [22:0] __sum_mant_786;
logic __cond_787;
logic __cond_788;
logic __cond_789;
logic __cond_790;
logic __cond_791;
logic __cond_792;
logic __cond_793;
logic __cond_794;
logic __cond_795;
logic __cond_796;
logic __cond_797;
logic __cond_798;
logic __cond_799;
logic __cond_800;
logic __cond_801;
logic __cond_802;
logic __cond_803;
logic __cond_804;
logic __cond_805;
logic __cond_806;
logic __cond_807;
logic __cond_808;
logic __cond_809;
logic __cond_810;
logic __cond_811;
logic __cond_812;
//port wire declare
wire fft_cfg__start;
logic sram__0__valid;
wire sram__0__ready;
logic sram__0__we_n;
logic [31:0] sram__0__addr;
logic [63:0] sram__0__wdata;
wire [63:0] sram__0__rdata;
logic instr_sram__valid;
wire instr_sram__ready;
logic instr_sram__we_n;
logic [31:0] instr_sram__addr;
logic [63:0] instr_sram__wdata;
wire [15:0] instr_sram__rdata;
logic exp_sram__valid;
wire exp_sram__ready;
logic exp_sram__we_n;
logic [31:0] exp_sram__addr;
logic [63:0] exp_sram__wdata;
wire [63:0] exp_sram__rdata;
wire clk;
wire rstn;
//register declare
//register init and update
reg [63:0] __r_37;
wire [63:0] ___r_37;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __r_37 <= #`UDLY 64'h0;
  end
  else begin
    __r_37 <= #`UDLY ___r_37;
  end
end

reg [63:0] __rd_even_data_42;
wire [63:0] ___rd_even_data_42;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __rd_even_data_42 <= #`UDLY 64'h0;
  end
  else begin
    __rd_even_data_42 <= #`UDLY ___rd_even_data_42;
  end
end

reg [63:0] __wr_sub_data_51;
wire [63:0] ___wr_sub_data_51;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __wr_sub_data_51 <= #`UDLY 64'h0;
  end
  else begin
    __wr_sub_data_51 <= #`UDLY ___wr_sub_data_51;
  end
end

reg [63:0] __exp_data_52;
logic [63:0] ___exp_data_52;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_data_52 <= #`UDLY 64'h0;
  end
  else begin
    __exp_data_52 <= #`UDLY ___exp_data_52;
  end
end

reg [31:0] __instr_addr_55;
wire [31:0] ___instr_addr_55;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_addr_55 <= #`UDLY 32'h0;
  end
  else begin
    __instr_addr_55 <= #`UDLY ___instr_addr_55;
  end
end

reg __instr_ready_56;
wire ___instr_ready_56;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_ready_56 <= #`UDLY 1'h0;
  end
  else begin
    __instr_ready_56 <= #`UDLY ___instr_ready_56;
  end
end

reg [15:0] __instr_data_57;
wire [15:0] ___instr_data_57;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_data_57 <= #`UDLY 16'h0;
  end
  else begin
    __instr_data_57 <= #`UDLY ___instr_data_57;
  end
end

reg __instr_ready_58;
wire ___instr_ready_58;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_ready_58 <= #`UDLY 1'h0;
  end
  else begin
    __instr_ready_58 <= #`UDLY ___instr_ready_58;
  end
end

reg __fft_run_59;
wire ___fft_run_59;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __fft_run_59 <= #`UDLY 1'h0;
  end
  else begin
    __fft_run_59 <= #`UDLY ___fft_run_59;
  end
end

reg __decode_valid_61;
wire ___decode_valid_61;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_valid_61 <= #`UDLY 1'h0;
  end
  else begin
    __decode_valid_61 <= #`UDLY ___decode_valid_61;
  end
end

reg [31:0] __decode_even_addr_62;
wire [31:0] ___decode_even_addr_62;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_even_addr_62 <= #`UDLY 32'h0;
  end
  else begin
    __decode_even_addr_62 <= #`UDLY ___decode_even_addr_62;
  end
end

reg [31:0] __decode_odd_addr_63;
wire [31:0] ___decode_odd_addr_63;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_odd_addr_63 <= #`UDLY 32'h0;
  end
  else begin
    __decode_odd_addr_63 <= #`UDLY ___decode_odd_addr_63;
  end
end

reg __get_exp_valid_64;
wire ___get_exp_valid_64;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __get_exp_valid_64 <= #`UDLY 1'h0;
  end
  else begin
    __get_exp_valid_64 <= #`UDLY ___get_exp_valid_64;
  end
end

reg __get_exp_valid_65;
wire ___get_exp_valid_65;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __get_exp_valid_65 <= #`UDLY 1'h0;
  end
  else begin
    __get_exp_valid_65 <= #`UDLY ___get_exp_valid_65;
  end
end

reg [31:0] __space_base_addr_66;
wire [31:0] ___space_base_addr_66;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __space_base_addr_66 <= #`UDLY 32'h0;
  end
  else begin
    __space_base_addr_66 <= #`UDLY ___space_base_addr_66;
  end
end

reg [31:0] __step_addr_67;
wire [31:0] ___step_addr_67;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __step_addr_67 <= #`UDLY 32'h0;
  end
  else begin
    __step_addr_67 <= #`UDLY ___step_addr_67;
  end
end

reg [15:0] __instr_68;
wire [15:0] ___instr_68;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_68 <= #`UDLY 16'h0;
  end
  else begin
    __instr_68 <= #`UDLY ___instr_68;
  end
end

reg __instr_valid_69;
wire ___instr_valid_69;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_valid_69 <= #`UDLY 1'h0;
  end
  else begin
    __instr_valid_69 <= #`UDLY ___instr_valid_69;
  end
end

reg __decode_grant_70;
wire ___decode_grant_70;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_grant_70 <= #`UDLY 1'h0;
  end
  else begin
    __decode_grant_70 <= #`UDLY ___decode_grant_70;
  end
end

reg __ctrl_valid_80;
wire ___ctrl_valid_80;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_80 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_80 <= #`UDLY ___ctrl_valid_80;
  end
end

reg [31:0] __ctrl_even_addr_81;
wire [31:0] ___ctrl_even_addr_81;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_81 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_81 <= #`UDLY ___ctrl_even_addr_81;
  end
end

reg [31:0] __ctrl_odd_addr_82;
wire [31:0] ___ctrl_odd_addr_82;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_82 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_82 <= #`UDLY ___ctrl_odd_addr_82;
  end
end

reg __ctrl_en_83;
wire ___ctrl_en_83;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_83 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_83 <= #`UDLY ___ctrl_en_83;
  end
end

reg __ctrl_valid_84;
wire ___ctrl_valid_84;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_84 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_84 <= #`UDLY ___ctrl_valid_84;
  end
end

reg [31:0] __ctrl_even_addr_85;
wire [31:0] ___ctrl_even_addr_85;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_85 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_85 <= #`UDLY ___ctrl_even_addr_85;
  end
end

reg [31:0] __ctrl_odd_addr_86;
wire [31:0] ___ctrl_odd_addr_86;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_86 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_86 <= #`UDLY ___ctrl_odd_addr_86;
  end
end

reg __ctrl_en_87;
wire ___ctrl_en_87;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_87 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_87 <= #`UDLY ___ctrl_en_87;
  end
end

reg __ctrl_valid_88;
wire ___ctrl_valid_88;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_88 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_88 <= #`UDLY ___ctrl_valid_88;
  end
end

reg [31:0] __ctrl_even_addr_89;
wire [31:0] ___ctrl_even_addr_89;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_89 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_89 <= #`UDLY ___ctrl_even_addr_89;
  end
end

reg [31:0] __ctrl_odd_addr_90;
wire [31:0] ___ctrl_odd_addr_90;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_90 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_90 <= #`UDLY ___ctrl_odd_addr_90;
  end
end

reg __ctrl_en_91;
wire ___ctrl_en_91;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_91 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_91 <= #`UDLY ___ctrl_en_91;
  end
end

reg __ctrl_valid_92;
wire ___ctrl_valid_92;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_92 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_92 <= #`UDLY ___ctrl_valid_92;
  end
end

reg [31:0] __ctrl_even_addr_93;
wire [31:0] ___ctrl_even_addr_93;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_93 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_93 <= #`UDLY ___ctrl_even_addr_93;
  end
end

reg [31:0] __ctrl_odd_addr_94;
wire [31:0] ___ctrl_odd_addr_94;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_94 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_94 <= #`UDLY ___ctrl_odd_addr_94;
  end
end

reg __ctrl_en_95;
wire ___ctrl_en_95;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_95 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_95 <= #`UDLY ___ctrl_en_95;
  end
end

reg __ctrl_valid_96;
wire ___ctrl_valid_96;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_96 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_96 <= #`UDLY ___ctrl_valid_96;
  end
end

reg [31:0] __ctrl_even_addr_97;
wire [31:0] ___ctrl_even_addr_97;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_97 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_97 <= #`UDLY ___ctrl_even_addr_97;
  end
end

reg [31:0] __ctrl_odd_addr_98;
wire [31:0] ___ctrl_odd_addr_98;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_98 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_98 <= #`UDLY ___ctrl_odd_addr_98;
  end
end

reg __ctrl_en_99;
wire ___ctrl_en_99;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_99 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_99 <= #`UDLY ___ctrl_en_99;
  end
end

reg __memif_rd_running_110;
wire ___memif_rd_running_110;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_running_110 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_running_110 <= #`UDLY ___memif_rd_running_110;
  end
end

reg __memif_wr_running_111;
wire ___memif_wr_running_111;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_running_111 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_running_111 <= #`UDLY ___memif_wr_running_111;
  end
end

reg [63:0] __memif_rd_data_buf_112;
wire [63:0] ___memif_rd_data_buf_112;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_data_buf_112 <= #`UDLY 64'h0;
  end
  else begin
    __memif_rd_data_buf_112 <= #`UDLY ___memif_rd_data_buf_112;
  end
end

reg [63:0] __memif_rd_addr_buf_113;
wire [63:0] ___memif_rd_addr_buf_113;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_addr_buf_113 <= #`UDLY 64'h0;
  end
  else begin
    __memif_rd_addr_buf_113 <= #`UDLY ___memif_rd_addr_buf_113;
  end
end

reg [63:0] __memif_wr_data_buf_114;
wire [63:0] ___memif_wr_data_buf_114;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_data_buf_114 <= #`UDLY 64'h0;
  end
  else begin
    __memif_wr_data_buf_114 <= #`UDLY ___memif_wr_data_buf_114;
  end
end

reg [63:0] __memif_wr_addr_buf_115;
wire [63:0] ___memif_wr_addr_buf_115;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_addr_buf_115 <= #`UDLY 64'h0;
  end
  else begin
    __memif_wr_addr_buf_115 <= #`UDLY ___memif_wr_addr_buf_115;
  end
end

reg __memif_rd_ready_116;
wire ___memif_rd_ready_116;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_ready_116 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_ready_116 <= #`UDLY ___memif_rd_ready_116;
  end
end

reg __memif_wr_ready_117;
wire ___memif_wr_ready_117;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_ready_117 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_ready_117 <= #`UDLY ___memif_wr_ready_117;
  end
end

reg __memif_rd_even_valid_118;
wire ___memif_rd_even_valid_118;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_even_valid_118 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_even_valid_118 <= #`UDLY ___memif_rd_even_valid_118;
  end
end

reg __memif_rd_odd_valid_119;
wire ___memif_rd_odd_valid_119;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_odd_valid_119 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_odd_valid_119 <= #`UDLY ___memif_rd_odd_valid_119;
  end
end

reg __memif_wr_t_valid_120;
wire ___memif_wr_t_valid_120;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_t_valid_120 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_t_valid_120 <= #`UDLY ___memif_wr_t_valid_120;
  end
end

reg __memif_wr_e_valid_121;
wire ___memif_wr_e_valid_121;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_e_valid_121 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_e_valid_121 <= #`UDLY ___memif_wr_e_valid_121;
  end
end

reg [63:0] __exp_dly_126;
wire [63:0] ___exp_dly_126;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_126 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_126 <= #`UDLY ___exp_dly_126;
  end
end

reg [63:0] __exp_dly_2_127;
wire [63:0] ___exp_dly_2_127;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_2_127 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_2_127 <= #`UDLY ___exp_dly_2_127;
  end
end

reg [63:0] __exp_dly_3_128;
wire [63:0] ___exp_dly_3_128;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_3_128 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_3_128 <= #`UDLY ___exp_dly_3_128;
  end
end

reg [63:0] __even_data_dly_129;
wire [63:0] ___even_data_dly_129;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_129 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_129 <= #`UDLY ___even_data_dly_129;
  end
end

reg [63:0] __even_data_dly_2_130;
wire [63:0] ___even_data_dly_2_130;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_2_130 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_2_130 <= #`UDLY ___even_data_dly_2_130;
  end
end

reg [63:0] __even_data_dly_3_131;
wire [63:0] ___even_data_dly_3_131;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_3_131 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_3_131 <= #`UDLY ___even_data_dly_3_131;
  end
end

reg [63:0] __complex_prod_146;
wire [63:0] ___complex_prod_146;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_prod_146 <= #`UDLY 64'h0;
  end
  else begin
    __complex_prod_146 <= #`UDLY ___complex_prod_146;
  end
end

reg [31:0] __mult_result_157;
logic [31:0] ___mult_result_157;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_157 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_157 <= #`UDLY ___mult_result_157;
  end
end

reg [31:0] __mult_result_164;
logic [31:0] ___mult_result_164;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_164 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_164 <= #`UDLY ___mult_result_164;
  end
end

reg [31:0] __mult_result_171;
logic [31:0] ___mult_result_171;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_171 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_171 <= #`UDLY ___mult_result_171;
  end
end

reg [31:0] __mult_result_178;
logic [31:0] ___mult_result_178;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_178 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_178 <= #`UDLY ___mult_result_178;
  end
end

reg [34:0] __s_reg_181;
wire [34:0] ___s_reg_181;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_181 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_181 <= #`UDLY ___s_reg_181;
  end
end

reg [34:0] __s_reg_284;
wire [34:0] ___s_reg_284;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_284 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_284 <= #`UDLY ___s_reg_284;
  end
end

reg [63:0] __complex_sum_393;
wire [63:0] ___complex_sum_393;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_sum_393 <= #`UDLY 64'h0;
  end
  else begin
    __complex_sum_393 <= #`UDLY ___complex_sum_393;
  end
end

reg [34:0] __s_reg_395;
wire [34:0] ___s_reg_395;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_395 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_395 <= #`UDLY ___s_reg_395;
  end
end

reg [34:0] __s_reg_498;
wire [34:0] ___s_reg_498;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_498 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_498 <= #`UDLY ___s_reg_498;
  end
end

reg [63:0] __complex_sum_606;
wire [63:0] ___complex_sum_606;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_sum_606 <= #`UDLY 64'h0;
  end
  else begin
    __complex_sum_606 <= #`UDLY ___complex_sum_606;
  end
end

reg [34:0] __s_reg_608;
wire [34:0] ___s_reg_608;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_608 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_608 <= #`UDLY ___s_reg_608;
  end
end

reg [34:0] __s_reg_711;
wire [34:0] ___s_reg_711;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_711 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_711 <= #`UDLY ___s_reg_711;
  end
end

reg [3:0] __cell_idx_813;
wire [3:0] ___cell_idx_813;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __cell_idx_813 <= #`UDLY 4'h0;
  end
  else begin
    __cell_idx_813 <= #`UDLY ___cell_idx_813;
  end
end

reg __exp_sram_dly_814;
wire ___exp_sram_dly_814;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_sram_dly_814 <= #`UDLY 1'h0;
  end
  else begin
    __exp_sram_dly_814 <= #`UDLY ___exp_sram_dly_814;
  end
end

//assign logic
assign ___fft_run_59 /* 575 */ = (__fft_end_53 /* 576 */ )?(0 /* 577 */ ):(fft_cfg__start /* 578 */ )?(1 /* 579 */ ):__fft_run_59 /* 581 */  /* 580 */ ;
assign instr_sram__valid /* 583 */ = __fft_run_59&&__fetch_instr_enable_54 /* 583 */ ;
assign instr_sram__addr /* 584 */ = __instr_addr_55 /* 584 */ ;
assign instr_sram__we_n /* 586 */ = 1 /* 586 */ ;
assign instr_sram__wdata /* 587 */ = 0 /* 587 */ ;
assign ___instr_addr_55 /* 589 */ = (__fetch_instr_enable_54&&instr_sram__ready /* 590 */ )?(__instr_addr_55+1 /* 591 */ ):__instr_addr_55 /* 593 */  /* 592 */ ;
assign ___instr_ready_58 /* 594 */ = instr_sram__ready /* 594 */ ;
assign ___instr_ready_56 /* 596 */ = __instr_ready_58 /* 596 */ ;
assign ___instr_data_57 /* 597 */ = instr_sram__rdata /* 597 */ ;
assign __fft_calc_grant_60 /* 136 */ = (1&__t_34 /* 134 */ )&&(!exp_sram__valid)|exp_sram__ready /* 136 */ ;
assign __op_code_71 /* 635 */ = __instr_68[15:12] /* 635 */ ;
assign __cell_num_72 /* 636 */ = __instr_68[11:10] /* 636 */ ;
assign __immed_73 /* 637 */ = __instr_68[9:0] /* 637 */ ;
assign ___instr_68 /* 639 */ = (__fft_calc_grant_60&&__instr_ready_56 /* 640 */ )?(__instr_data_57 /* 641 */ ):__instr_68 /* 643 */  /* 642 */ ;
assign ___decode_grant_70 /* 645 */ = __fft_calc_grant_60 /* 645 */ ;
assign ___instr_valid_69 /* 647 */ = (__fft_calc_grant_60 /* 648 */ )?(__instr_ready_56 /* 649 */ ):__instr_valid_69 /* 651 */  /* 650 */ ;
assign __set_addr_74 /* 653 */ = (__op_code_71==(4'h2 /* 611 */ )) /* 653 */ ;
assign __get_exp_75 /* 654 */ = (__op_code_71==(4'h3 /* 612 */ )) /* 654 */ ;
assign __fft_calc_76 /* 655 */ = (__op_code_71==(4'h1 /* 610 */ )) /* 655 */ ;
assign __calc_end_77 /* 656 */ = (__op_code_71==(4'hf /* 613 */ )) /* 656 */ ;
assign __set_space_addr_78 /* 658 */ = __set_addr_74&&(__cell_num_72==(2'b00 /* 615 */ )) /* 658 */ ;
assign __set_step_addr_79 /* 659 */ = __set_addr_74&&(__cell_num_72==(2'b01 /* 616 */ )) /* 659 */ ;
assign ___space_base_addr_66 /* 661 */ = (__instr_valid_69&&__fft_calc_grant_60&&__set_addr_74&&__set_space_addr_78 /* 662 */ )?(__immed_73 /* 663 */ ):__space_base_addr_66 /* 665 */  /* 664 */ ;
assign ___step_addr_67 /* 667 */ = (__instr_valid_69&&__fft_calc_grant_60&&__set_addr_74&&__set_step_addr_79 /* 668 */ )?(__immed_73 /* 669 */ ):__step_addr_67 /* 671 */  /* 670 */ ;
assign ___decode_valid_61 /* 674 */ = (__instr_valid_69&&__fft_calc_76&&(__cell_num_72>=0)&&__fft_calc_grant_60 /* 675 */ )?(1 /* 676 */ ):0 /* 678 */  /* 677 */ ;
assign ___decode_even_addr_62 /* 682 */ = (__instr_valid_69&&__fft_calc_76&&(__cell_num_72>=0)&&__fft_calc_grant_60 /* 683 */ )?(__immed_73+__space_base_addr_66+0 /* 684 */ ):__decode_even_addr_62 /* 686 */  /* 685 */ ;
assign ___decode_odd_addr_63 /* 688 */ = (__instr_valid_69&&__fft_calc_76&&(__cell_num_72>=0)&&__fft_calc_grant_60 /* 689 */ )?(__immed_73+__space_base_addr_66+__step_addr_67+0 /* 690 */ ):__decode_odd_addr_63 /* 692 */  /* 691 */ ;
assign __fft_end_53 /* 694 */ = (__instr_valid_69&&__calc_end_77&&(__cell_num_72>=0) /* 695 */ )?(1 /* 696 */ ):0 /* 698 */  /* 697 */ ;
assign __fetch_instr_enable_54 /* 699 */ = __decode_grant_70 /* 699 */ ;
assign ___get_exp_valid_64 /* 701 */ = (__instr_valid_69&&__get_exp_75&&(__cell_num_72>=0)&&__fft_calc_grant_60 /* 702 */ )?(1 /* 703 */ ):0 /* 705 */  /* 704 */ ;
assign ___get_exp_valid_65 /* 707 */ = (__instr_valid_69&&__get_exp_75&&(__cell_num_72>=0)&&__fft_calc_grant_60 /* 708 */ )?(__immed_73 /* 709 */ ):__get_exp_valid_65 /* 711 */  /* 710 */ ;
assign ___ctrl_even_addr_81 /* 270 */ = (__rd_ready_39&&__wr_grant_47 /* 271 */ )?(__rd_even_addr_41 /* 272 */ ):__ctrl_even_addr_81 /* 274 */  /* 273 */ ;
assign ___ctrl_odd_addr_82 /* 276 */ = (__rd_ready_39&&__wr_grant_47 /* 277 */ )?(__rd_odd_addr_43 /* 278 */ ):__ctrl_even_addr_81 /* 280 */  /* 279 */ ;
assign ___ctrl_valid_80 /* 282 */ = (__wr_grant_47 /* 283 */ )?(__rd_ready_39 /* 284 */ ):__ctrl_valid_80 /* 286 */  /* 285 */ ;
assign ___ctrl_en_83 /* 288 */ = __rd_ready_39&&__wr_grant_47 /* 288 */ ;
assign ___ctrl_valid_84 /* 290 */ = (__wr_grant_47 /* 291 */ )?(__ctrl_valid_80 /* 292 */ ):__ctrl_valid_84 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_85 /* 296 */ = (__ctrl_valid_80&&__wr_grant_47 /* 297 */ )?(__ctrl_even_addr_81 /* 298 */ ):__ctrl_even_addr_85 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_86 /* 302 */ = (__ctrl_valid_80&&__wr_grant_47 /* 303 */ )?(__ctrl_odd_addr_82 /* 304 */ ):__ctrl_odd_addr_86 /* 306 */  /* 305 */ ;
assign ___ctrl_en_87 /* 308 */ = __ctrl_valid_80&__wr_grant_47 /* 308 */ ;
assign ___ctrl_valid_88 /* 290 */ = (__wr_grant_47 /* 291 */ )?(__ctrl_valid_84 /* 292 */ ):__ctrl_valid_88 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_89 /* 296 */ = (__ctrl_valid_84&&__wr_grant_47 /* 297 */ )?(__ctrl_even_addr_85 /* 298 */ ):__ctrl_even_addr_89 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_90 /* 302 */ = (__ctrl_valid_84&&__wr_grant_47 /* 303 */ )?(__ctrl_odd_addr_86 /* 304 */ ):__ctrl_odd_addr_90 /* 306 */  /* 305 */ ;
assign ___ctrl_en_91 /* 308 */ = __ctrl_valid_84&__wr_grant_47 /* 308 */ ;
assign ___ctrl_valid_92 /* 290 */ = (__wr_grant_47 /* 291 */ )?(__ctrl_valid_88 /* 292 */ ):__ctrl_valid_92 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_93 /* 296 */ = (__ctrl_valid_88&&__wr_grant_47 /* 297 */ )?(__ctrl_even_addr_89 /* 298 */ ):__ctrl_even_addr_93 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_94 /* 302 */ = (__ctrl_valid_88&&__wr_grant_47 /* 303 */ )?(__ctrl_odd_addr_90 /* 304 */ ):__ctrl_odd_addr_94 /* 306 */  /* 305 */ ;
assign ___ctrl_en_95 /* 308 */ = __ctrl_valid_88&__wr_grant_47 /* 308 */ ;
assign ___ctrl_valid_96 /* 290 */ = (__wr_grant_47 /* 291 */ )?(__ctrl_valid_92 /* 292 */ ):__ctrl_valid_96 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_97 /* 296 */ = (__ctrl_valid_92&&__wr_grant_47 /* 297 */ )?(__ctrl_even_addr_93 /* 298 */ ):__ctrl_even_addr_97 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_98 /* 302 */ = (__ctrl_valid_92&&__wr_grant_47 /* 303 */ )?(__ctrl_odd_addr_94 /* 304 */ ):__ctrl_odd_addr_98 /* 306 */  /* 305 */ ;
assign ___ctrl_en_99 /* 308 */ = __ctrl_valid_92&__wr_grant_47 /* 308 */ ;
assign ___memif_rd_running_110 /* 354 */ = (__rd_odd_data_ready_123&&__memif_rd_running_110 /* 355 */ )?(__rd_valid_38 /* 356 */ ):(__rd_valid_38 /* 357 */ )?(1 /* 358 */ ):__memif_rd_running_110 /* 360 */  /* 359 */ ;
assign ___memif_wr_running_111 /* 362 */ = (__wr_sub_data_ready_125&&__memif_wr_running_111 /* 363 */ )?(__wr_valid_45 /* 364 */ ):(__wr_valid_45 /* 365 */ )?(1 /* 366 */ ):__memif_wr_running_111 /* 368 */  /* 367 */ ;
assign ___memif_rd_data_buf_112 /* 371 */ = (__memif_rd_odd_valid_119 /* 372 */ )?(__rdata_109 /* 373 */ ):__memif_rd_data_buf_112 /* 375 */  /* 374 */ ;
assign ___memif_rd_addr_buf_113 /* 377 */ = (__rd_valid_38&&__pip_en_100 /* 378 */ )?(__rd_odd_addr_43 /* 379 */ ):__memif_rd_addr_buf_113 /* 381 */  /* 380 */ ;
assign ___memif_rd_even_valid_118 /* 383 */ = (__pip_en_100&&(!__memif_wr_t_valid_120)&&(!__memif_wr_e_valid_121) /* 384 */ )?(__rd_valid_38 /* 385 */ ):0 /* 387 */  /* 386 */ ;
assign ___memif_rd_odd_valid_119 /* 389 */ = (__pip_en_101&&__rd_odd_data_ready_123 /* 390 */ )?(__rd_even_data_ready_122 /* 391 */ ):(__pip_en_101&&__rd_even_data_ready_122 /* 392 */ )?(1 /* 393 */ ):__memif_rd_odd_valid_119 /* 395 */  /* 394 */ ;
assign ___memif_wr_data_buf_114 /* 398 */ = (__wr_valid_45&&__pip_en_103 /* 399 */ )?(__wr_sub_data_51 /* 400 */ ):__memif_wr_data_buf_114 /* 402 */  /* 401 */ ;
assign ___memif_wr_addr_buf_115 /* 404 */ = (__wr_valid_45&&__pip_en_103 /* 405 */ )?(__wr_odd_addr_50 /* 406 */ ):__memif_wr_addr_buf_115 /* 408 */  /* 407 */ ;
assign ___memif_wr_t_valid_120 /* 410 */ = (__pip_en_103 /* 411 */ )?(__wr_valid_45 /* 412 */ ):0 /* 414 */  /* 413 */ ;
assign ___memif_wr_e_valid_121 /* 416 */ = (__wr_sub_data_ready_125 /* 417 */ )?(__wr_add_data_ready_124 /* 418 */ ):(__wr_add_data_ready_124 /* 419 */ )?(1 /* 420 */ ):__memif_wr_e_valid_121 /* 422 */  /* 421 */ ;
assign __rd_even_data_ready_122 /* 424 */ = __memif_rd_running_110&&__memif_rd_even_valid_118&&__sram_ready_105&&(!__memif_wr_t_valid_120)&&(!__memif_wr_e_valid_121) /* 424 */ ;
assign __rd_odd_data_ready_123 /* 425 */ = __memif_rd_running_110&&__memif_rd_odd_valid_119&&__sram_ready_105&&(!__memif_wr_t_valid_120)&&(!__memif_wr_e_valid_121) /* 425 */ ;
assign __wr_add_data_ready_124 /* 427 */ = __memif_wr_running_111&&__memif_wr_t_valid_120&&__sram_ready_105 /* 427 */ ;
assign __wr_sub_data_ready_125 /* 428 */ = __memif_wr_running_111&&__memif_wr_e_valid_121&&__sram_ready_105 /* 428 */ ;
assign __sram_valid_104 /* 430 */ = (__memif_rd_even_valid_118||__memif_rd_odd_valid_119&&(!__memif_wr_t_valid_120)&&(!__memif_wr_e_valid_121)||__memif_wr_t_valid_120||__memif_wr_e_valid_121) /* 430 */ ;
assign __we_n_106 /* 431 */ = !(__memif_wr_t_valid_120||__memif_wr_e_valid_121) /* 431 */ ;
assign __waddr_107 /* 433 */ = (__memif_wr_t_valid_120 /* 434 */ )?(__wr_even_addr_48 /* 435 */ ):(__memif_wr_e_valid_121 /* 436 */ )?(__memif_wr_addr_buf_115 /* 437 */ ):(__memif_rd_even_valid_118 /* 438 */ )?(__rd_even_addr_41 /* 439 */ ):(__memif_rd_odd_valid_119 /* 440 */ )?(__memif_rd_addr_buf_113 /* 441 */ ):0 /* 443 */  /* 442 */ ;
assign __wdata_108 /* 445 */ = (__memif_wr_t_valid_120 /* 446 */ )?(__wr_add_data_49 /* 447 */ ):(__memif_wr_e_valid_121 /* 448 */ )?(__memif_wr_data_buf_114 /* 449 */ ):0 /* 451 */  /* 450 */ ;
assign ___rd_even_data_42 /* 453 */ = (__memif_rd_ready_116 /* 454 */ )?(__memif_rd_data_buf_112 /* 455 */ ):0 /* 457 */  /* 456 */ ;
assign __rd_odd_data_44 /* 459 */ = (__memif_rd_ready_116 /* 460 */ )?(__rdata_109 /* 461 */ ):0 /* 463 */  /* 462 */ ;
assign __pip_en_100 /* 465 */ = (__memif_rd_odd_valid_119&&__rd_odd_data_ready_123||!__memif_rd_odd_valid_119) /* 465 */ ;
assign __pip_en_101 /* 466 */ = __wr_grant_47 /* 466 */ ;
assign __pip_en_102 /* 467 */ = (__memif_wr_t_valid_120&&__wr_add_data_ready_124||!__memif_wr_t_valid_120) /* 467 */ ;
assign __pip_en_103 /* 468 */ = (__memif_wr_e_valid_121&&__wr_sub_data_ready_125||!__memif_wr_e_valid_121) /* 468 */ ;
assign ___memif_rd_ready_116 /* 470 */ = __rd_odd_data_ready_123 /* 470 */ ;
assign ___memif_wr_ready_117 /* 471 */ = __wr_sub_data_ready_125 /* 471 */ ;
assign __rd_ready_39 /* 473 */ = __memif_rd_ready_116 /* 473 */ ;
assign __rd_grant_40 /* 474 */ = __memif_rd_even_valid_118&&__rd_even_data_ready_122||!__memif_rd_even_valid_118 /* 474 */ ;
assign __wr_ready_46 /* 476 */ = __memif_wr_ready_117 /* 476 */ ;
assign __wr_grant_47 /* 477 */ = __pip_en_102 /* 477 */ ;
assign ___exp_dly_126 /* 508 */ = (__ctrl_valid_80 /* 509 */ )?(__rd_even_data_42 /* 510 */ ):__exp_dly_126 /* 512 */  /* 511 */ ;
assign ___exp_dly_2_127 /* 514 */ = (__ctrl_valid_84 /* 515 */ )?(__exp_dly_126 /* 516 */ ):__exp_dly_2_127 /* 518 */  /* 517 */ ;
assign ___exp_dly_3_128 /* 520 */ = (__ctrl_valid_88 /* 521 */ )?(__exp_dly_2_127 /* 522 */ ):__exp_dly_3_128 /* 524 */  /* 523 */ ;
assign ___even_data_dly_129 /* 526 */ = (__ctrl_valid_80 /* 527 */ )?(__exp_data_52 /* 528 */ ):__even_data_dly_129 /* 530 */  /* 529 */ ;
assign ___even_data_dly_2_130 /* 532 */ = (__ctrl_valid_84 /* 533 */ )?(__even_data_dly_129 /* 534 */ ):__even_data_dly_2_130 /* 536 */  /* 535 */ ;
assign ___even_data_dly_3_131 /* 538 */ = (__ctrl_valid_88 /* 539 */ )?(__even_data_dly_2_130 /* 540 */ ):__even_data_dly_3_131 /* 542 */  /* 541 */ ;
assign __t_134 /* 544 */ = __exp_dly_3_128 /* 544 */ ;
assign __result_sign_151 /* 117 */ = __m_1_real_136[31]^__m_2_real_137[31] /* 117 */ ;
assign __result_exp_152 /* 118 */ = __m_1_real_136[30:23]-127+(__m_2_real_137[30:23]) /* 118 */ ;
assign __exp_add1_153 /* 119 */ = __result_exp_152+1 /* 119 */ ;
assign __overflow_1_147 /* 121 */ = __result_exp_152[8]||__exp_add1_153[8] /* 121 */ ;
assign __result_factor_154 /* 123 */ = { 1'b1,__m_1_real_136[22:0] }*{ 1'b1,__m_2_real_137[22:0] } /* 123 */ ;
assign __valid_factor_norm_155 /* 133 */ = __result_factor_154[45:23] /* 133 */ ;
assign __valid_factor_shift_156 /* 134 */ = __result_factor_154[46:24] /* 134 */ ;
assign __real_x_real_142 /* 208 */ = (__mult_result_157 /* 143 */ ) /* 208 */ ;
assign __result_sign_158 /* 117 */ = __m_1_real_136[31]^__m_2_imag_139[31] /* 117 */ ;
assign __result_exp_159 /* 118 */ = __m_1_real_136[30:23]-127+(__m_2_imag_139[30:23]) /* 118 */ ;
assign __exp_add1_160 /* 119 */ = __result_exp_159+1 /* 119 */ ;
assign __overflow_2_148 /* 121 */ = __result_exp_159[8]||__exp_add1_160[8] /* 121 */ ;
assign __result_factor_161 /* 123 */ = { 1'b1,__m_1_real_136[22:0] }*{ 1'b1,__m_2_imag_139[22:0] } /* 123 */ ;
assign __valid_factor_norm_162 /* 133 */ = __result_factor_161[45:23] /* 133 */ ;
assign __valid_factor_shift_163 /* 134 */ = __result_factor_161[46:24] /* 134 */ ;
assign __real_x_imag_143 /* 209 */ = (__mult_result_164 /* 143 */ ) /* 209 */ ;
assign __result_sign_165 /* 117 */ = __m_1_imag_138[31]^__m_2_real_137[31] /* 117 */ ;
assign __result_exp_166 /* 118 */ = __m_1_imag_138[30:23]-127+(__m_2_real_137[30:23]) /* 118 */ ;
assign __exp_add1_167 /* 119 */ = __result_exp_166+1 /* 119 */ ;
assign __overflow_3_149 /* 121 */ = __result_exp_166[8]||__exp_add1_167[8] /* 121 */ ;
assign __result_factor_168 /* 123 */ = { 1'b1,__m_1_imag_138[22:0] }*{ 1'b1,__m_2_real_137[22:0] } /* 123 */ ;
assign __valid_factor_norm_169 /* 133 */ = __result_factor_168[45:23] /* 133 */ ;
assign __valid_factor_shift_170 /* 134 */ = __result_factor_168[46:24] /* 134 */ ;
assign __imag_x_real_144 /* 210 */ = (__mult_result_171 /* 143 */ ) /* 210 */ ;
assign __result_sign_172 /* 117 */ = __m_1_imag_138[31]^__m_2_imag_139[31] /* 117 */ ;
assign __result_exp_173 /* 118 */ = __m_1_imag_138[30:23]-127+(__m_2_imag_139[30:23]) /* 118 */ ;
assign __exp_add1_174 /* 119 */ = __result_exp_173+1 /* 119 */ ;
assign __overflow_4_150 /* 121 */ = __result_exp_173[8]||__exp_add1_174[8] /* 121 */ ;
assign __result_factor_175 /* 123 */ = { 1'b1,__m_1_imag_138[22:0] }*{ 1'b1,__m_2_imag_139[22:0] } /* 123 */ ;
assign __valid_factor_norm_176 /* 133 */ = __result_factor_175[45:23] /* 133 */ ;
assign __valid_factor_shift_177 /* 134 */ = __result_factor_175[46:24] /* 134 */ ;
assign __imag_x_imag_145 /* 211 */ = (__mult_result_178 /* 143 */ ) /* 211 */ ;
assign __neg_imag_x_imag_179 /* 213 */ = { 1'b1,__imag_x_imag_145[30:0] } /* 213 */ ;
assign __norms_194[0] /* 32 */ = (|(__expn_183)) /* 32 */ ;
assign __sign_182 /* 33 */ = __real_x_real_142[31] /* 33 */ ;
assign __expn_183 /* 34 */ = __real_x_real_142[30:23] /* 34 */ ;
assign __mant_185[22:0] /* 35 */ = __real_x_real_142[22:0] /* 35 */ ;
assign __mant_185[23] /* 36 */ = __norms_194[0] /* 36 */ ;
assign __expn_d_184 /* 37 */ = __expn_183+!__norms_194[0] /* 37 */ ;
assign __shift_num_196 /* 38 */ = __expn_aln_195-__expn_d_184 /* 38 */ ;
assign __cond_197 /* 242 */ = 0==__shift_num_196 /* 242 */ ;
assign __cond_198 /* 242 */ = 1==__shift_num_196 /* 242 */ ;
assign __cond_199 /* 242 */ = 2==__shift_num_196 /* 242 */ ;
assign __cond_200 /* 242 */ = 3==__shift_num_196 /* 242 */ ;
assign __cond_201 /* 242 */ = 4==__shift_num_196 /* 242 */ ;
assign __cond_202 /* 242 */ = 5==__shift_num_196 /* 242 */ ;
assign __cond_203 /* 242 */ = 6==__shift_num_196 /* 242 */ ;
assign __cond_204 /* 242 */ = 7==__shift_num_196 /* 242 */ ;
assign __cond_205 /* 242 */ = 8==__shift_num_196 /* 242 */ ;
assign __cond_206 /* 242 */ = 9==__shift_num_196 /* 242 */ ;
assign __cond_207 /* 242 */ = 10==__shift_num_196 /* 242 */ ;
assign __cond_208 /* 242 */ = 11==__shift_num_196 /* 242 */ ;
assign __cond_209 /* 242 */ = 12==__shift_num_196 /* 242 */ ;
assign __cond_210 /* 242 */ = 13==__shift_num_196 /* 242 */ ;
assign __cond_211 /* 242 */ = 14==__shift_num_196 /* 242 */ ;
assign __cond_212 /* 242 */ = 15==__shift_num_196 /* 242 */ ;
assign __cond_213 /* 242 */ = 16==__shift_num_196 /* 242 */ ;
assign __cond_214 /* 242 */ = 17==__shift_num_196 /* 242 */ ;
assign __cond_215 /* 242 */ = 18==__shift_num_196 /* 242 */ ;
assign __cond_216 /* 242 */ = 19==__shift_num_196 /* 242 */ ;
assign __cond_217 /* 242 */ = 20==__shift_num_196 /* 242 */ ;
assign __cond_218 /* 242 */ = 21==__shift_num_196 /* 242 */ ;
assign __cond_219 /* 242 */ = 22==__shift_num_196 /* 242 */ ;
assign __cond_220 /* 242 */ = 23==__shift_num_196 /* 242 */ ;
assign __mant_sft_186 /* 39 */ = (__shift_num_196<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_197} }&((__mant_185>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_198} }&((__mant_185>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_199} }&((__mant_185>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_200} }&((__mant_185>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_201} }&((__mant_185>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_202} }&((__mant_185>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_203} }&((__mant_185>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_204} }&((__mant_185>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_205} }&((__mant_185>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_206} }&((__mant_185>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_207} }&((__mant_185>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_208} }&((__mant_185>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_209} }&((__mant_185>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_210} }&((__mant_185>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_211} }&((__mant_185>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_212} }&((__mant_185>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_213} }&((__mant_185>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_214} }&((__mant_185>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_215} }&((__mant_185>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_216} }&((__mant_185>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_217} }&((__mant_185>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_218} }&((__mant_185>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_219} }&((__mant_185>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_220} }&((__mant_185>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_187 /* 47 */ = (__sign_182 /* 48 */ )?(~__mant_sft_186 /* 48 */ ):__mant_sft_186 /* 49 */  /* 49 */ ;
assign __norms_194[1] /* 32 */ = (|(__expn_189)) /* 32 */ ;
assign __sign_188 /* 33 */ = __neg_imag_x_imag_179[31] /* 33 */ ;
assign __expn_189 /* 34 */ = __neg_imag_x_imag_179[30:23] /* 34 */ ;
assign __mant_191[22:0] /* 35 */ = __neg_imag_x_imag_179[22:0] /* 35 */ ;
assign __mant_191[23] /* 36 */ = __norms_194[1] /* 36 */ ;
assign __expn_d_190 /* 37 */ = __expn_189+!__norms_194[1] /* 37 */ ;
assign __shift_num_221 /* 38 */ = __expn_aln_195-__expn_d_190 /* 38 */ ;
assign __cond_222 /* 242 */ = 0==__shift_num_221 /* 242 */ ;
assign __cond_223 /* 242 */ = 1==__shift_num_221 /* 242 */ ;
assign __cond_224 /* 242 */ = 2==__shift_num_221 /* 242 */ ;
assign __cond_225 /* 242 */ = 3==__shift_num_221 /* 242 */ ;
assign __cond_226 /* 242 */ = 4==__shift_num_221 /* 242 */ ;
assign __cond_227 /* 242 */ = 5==__shift_num_221 /* 242 */ ;
assign __cond_228 /* 242 */ = 6==__shift_num_221 /* 242 */ ;
assign __cond_229 /* 242 */ = 7==__shift_num_221 /* 242 */ ;
assign __cond_230 /* 242 */ = 8==__shift_num_221 /* 242 */ ;
assign __cond_231 /* 242 */ = 9==__shift_num_221 /* 242 */ ;
assign __cond_232 /* 242 */ = 10==__shift_num_221 /* 242 */ ;
assign __cond_233 /* 242 */ = 11==__shift_num_221 /* 242 */ ;
assign __cond_234 /* 242 */ = 12==__shift_num_221 /* 242 */ ;
assign __cond_235 /* 242 */ = 13==__shift_num_221 /* 242 */ ;
assign __cond_236 /* 242 */ = 14==__shift_num_221 /* 242 */ ;
assign __cond_237 /* 242 */ = 15==__shift_num_221 /* 242 */ ;
assign __cond_238 /* 242 */ = 16==__shift_num_221 /* 242 */ ;
assign __cond_239 /* 242 */ = 17==__shift_num_221 /* 242 */ ;
assign __cond_240 /* 242 */ = 18==__shift_num_221 /* 242 */ ;
assign __cond_241 /* 242 */ = 19==__shift_num_221 /* 242 */ ;
assign __cond_242 /* 242 */ = 20==__shift_num_221 /* 242 */ ;
assign __cond_243 /* 242 */ = 21==__shift_num_221 /* 242 */ ;
assign __cond_244 /* 242 */ = 22==__shift_num_221 /* 242 */ ;
assign __cond_245 /* 242 */ = 23==__shift_num_221 /* 242 */ ;
assign __mant_sft_192 /* 39 */ = (__shift_num_221<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_222} }&((__mant_191>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_223} }&((__mant_191>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_224} }&((__mant_191>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_225} }&((__mant_191>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_226} }&((__mant_191>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_227} }&((__mant_191>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_228} }&((__mant_191>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_229} }&((__mant_191>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_230} }&((__mant_191>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_231} }&((__mant_191>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_232} }&((__mant_191>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_233} }&((__mant_191>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_234} }&((__mant_191>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_235} }&((__mant_191>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_236} }&((__mant_191>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_237} }&((__mant_191>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_238} }&((__mant_191>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_239} }&((__mant_191>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_240} }&((__mant_191>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_241} }&((__mant_191>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_242} }&((__mant_191>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_243} }&((__mant_191>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_244} }&((__mant_191>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_245} }&((__mant_191>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_193 /* 47 */ = (__sign_188 /* 48 */ )?(~__mant_sft_192 /* 48 */ ):__mant_sft_192 /* 49 */  /* 49 */ ;
assign ___s_reg_181[34:27] /* 51 */ = (__ctrl_valid_84 /* 52 */ )?(__expn_aln_195 /* 53 */ ):__s_reg_181[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_181[26:0] /* 57 */ = (__ctrl_valid_84 /* 58 */ )?(__mant_sgn_187+__mant_sgn_193+__sign_182+__sign_188 /* 59 */ ):__s_reg_181[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_246 /* 63 */ = __expn_d_190-__expn_d_184 /* 63 */ ;
assign __expn_aln_195 /* 64 */ = (__expn_dif_246[8] /* 65 */ )?(__expn_d_184 /* 66 */ ):__expn_d_190 /* 68 */  /* 67 */ ;
assign __expn_10r_247 /* 70 */ = __s_reg_181[34:27] /* 70 */ ;
assign __mant_10_248 /* 71 */ = __s_reg_181[26:0] /* 71 */ ;
assign __mant_10_abs_249 /* 73 */ = (__mant_10_248[26] /* 74 */ )?(~__mant_10_248 /* 74 */ ):__mant_10_248 /* 75 */  /* 75 */ ;
assign __mant_padded_250 /* 77 */ = { __mant_10_abs_249,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_252 /* 82 */ = !__mant_10_abs_249 /* 82 */ ;
assign __lead_zeros_251 /* 84 */ = (__mant_10_abs_249[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_249[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_253 /* 93 */ = __expn_10r_247+2-__lead_zeros_251 /* 93 */ ;
assign __sum_sign_254 /* 94 */ = __mant_10_248[26] /* 94 */ ;
assign __sum_expn_255 /* 95 */ = (__all_zero_252||__expn_sft_253[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_253[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_253[7:0] /* 98 */  /* 98 */ ;
assign __cond_257 /* 242 */ = 0==__lead_zeros_251 /* 242 */ ;
assign __cond_258 /* 242 */ = 1==__lead_zeros_251 /* 242 */ ;
assign __cond_259 /* 242 */ = 2==__lead_zeros_251 /* 242 */ ;
assign __cond_260 /* 242 */ = 3==__lead_zeros_251 /* 242 */ ;
assign __cond_261 /* 242 */ = 4==__lead_zeros_251 /* 242 */ ;
assign __cond_262 /* 242 */ = 5==__lead_zeros_251 /* 242 */ ;
assign __cond_263 /* 242 */ = 6==__lead_zeros_251 /* 242 */ ;
assign __cond_264 /* 242 */ = 7==__lead_zeros_251 /* 242 */ ;
assign __cond_265 /* 242 */ = 8==__lead_zeros_251 /* 242 */ ;
assign __cond_266 /* 242 */ = 9==__lead_zeros_251 /* 242 */ ;
assign __cond_267 /* 242 */ = 10==__lead_zeros_251 /* 242 */ ;
assign __cond_268 /* 242 */ = 11==__lead_zeros_251 /* 242 */ ;
assign __cond_269 /* 242 */ = 12==__lead_zeros_251 /* 242 */ ;
assign __cond_270 /* 242 */ = 13==__lead_zeros_251 /* 242 */ ;
assign __cond_271 /* 242 */ = 14==__lead_zeros_251 /* 242 */ ;
assign __cond_272 /* 242 */ = 15==__lead_zeros_251 /* 242 */ ;
assign __cond_273 /* 242 */ = 16==__lead_zeros_251 /* 242 */ ;
assign __cond_274 /* 242 */ = 17==__lead_zeros_251 /* 242 */ ;
assign __cond_275 /* 242 */ = 18==__lead_zeros_251 /* 242 */ ;
assign __cond_276 /* 242 */ = 19==__lead_zeros_251 /* 242 */ ;
assign __cond_277 /* 242 */ = 20==__lead_zeros_251 /* 242 */ ;
assign __cond_278 /* 242 */ = 21==__lead_zeros_251 /* 242 */ ;
assign __cond_279 /* 242 */ = 22==__lead_zeros_251 /* 242 */ ;
assign __cond_280 /* 242 */ = 23==__lead_zeros_251 /* 242 */ ;
assign __cond_281 /* 242 */ = 24==__lead_zeros_251 /* 242 */ ;
assign __cond_282 /* 242 */ = 25==__lead_zeros_251 /* 242 */ ;
assign __sum_mant_256 /* 100 */ = (__all_zero_252 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_257} }&((__mant_padded_250[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_258} }&((__mant_padded_250[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_259} }&((__mant_padded_250[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_260} }&((__mant_padded_250[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_261} }&((__mant_padded_250[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_262} }&((__mant_padded_250[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_263} }&((__mant_padded_250[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_264} }&((__mant_padded_250[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_265} }&((__mant_padded_250[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_266} }&((__mant_padded_250[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_267} }&((__mant_padded_250[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_268} }&((__mant_padded_250[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_269} }&((__mant_padded_250[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_270} }&((__mant_padded_250[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_271} }&((__mant_padded_250[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_272} }&((__mant_padded_250[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_273} }&((__mant_padded_250[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_274} }&((__mant_padded_250[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_275} }&((__mant_padded_250[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_276} }&((__mant_padded_250[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_277} }&((__mant_padded_250[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_278} }&((__mant_padded_250[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_279} }&((__mant_padded_250[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_280} }&((__mant_padded_250[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_281} }&((__mant_padded_250[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_282} }&((__mant_padded_250[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_180[31] /* 108 */ = __sum_sign_254 /* 108 */ ;
assign __result_180[30:23] /* 109 */ = __sum_expn_255 /* 109 */ ;
assign __result_180[22:0] /* 110 */ = __sum_mant_256 /* 110 */ ;
assign __prod_real_140 /* 215 */ = (__result_180 /* 111 */ ) /* 215 */ ;
assign __norms_297[0] /* 32 */ = (|(__expn_286)) /* 32 */ ;
assign __sign_285 /* 33 */ = __real_x_imag_143[31] /* 33 */ ;
assign __expn_286 /* 34 */ = __real_x_imag_143[30:23] /* 34 */ ;
assign __mant_288[22:0] /* 35 */ = __real_x_imag_143[22:0] /* 35 */ ;
assign __mant_288[23] /* 36 */ = __norms_297[0] /* 36 */ ;
assign __expn_d_287 /* 37 */ = __expn_286+!__norms_297[0] /* 37 */ ;
assign __shift_num_299 /* 38 */ = __expn_aln_298-__expn_d_287 /* 38 */ ;
assign __cond_300 /* 242 */ = 0==__shift_num_299 /* 242 */ ;
assign __cond_301 /* 242 */ = 1==__shift_num_299 /* 242 */ ;
assign __cond_302 /* 242 */ = 2==__shift_num_299 /* 242 */ ;
assign __cond_303 /* 242 */ = 3==__shift_num_299 /* 242 */ ;
assign __cond_304 /* 242 */ = 4==__shift_num_299 /* 242 */ ;
assign __cond_305 /* 242 */ = 5==__shift_num_299 /* 242 */ ;
assign __cond_306 /* 242 */ = 6==__shift_num_299 /* 242 */ ;
assign __cond_307 /* 242 */ = 7==__shift_num_299 /* 242 */ ;
assign __cond_308 /* 242 */ = 8==__shift_num_299 /* 242 */ ;
assign __cond_309 /* 242 */ = 9==__shift_num_299 /* 242 */ ;
assign __cond_310 /* 242 */ = 10==__shift_num_299 /* 242 */ ;
assign __cond_311 /* 242 */ = 11==__shift_num_299 /* 242 */ ;
assign __cond_312 /* 242 */ = 12==__shift_num_299 /* 242 */ ;
assign __cond_313 /* 242 */ = 13==__shift_num_299 /* 242 */ ;
assign __cond_314 /* 242 */ = 14==__shift_num_299 /* 242 */ ;
assign __cond_315 /* 242 */ = 15==__shift_num_299 /* 242 */ ;
assign __cond_316 /* 242 */ = 16==__shift_num_299 /* 242 */ ;
assign __cond_317 /* 242 */ = 17==__shift_num_299 /* 242 */ ;
assign __cond_318 /* 242 */ = 18==__shift_num_299 /* 242 */ ;
assign __cond_319 /* 242 */ = 19==__shift_num_299 /* 242 */ ;
assign __cond_320 /* 242 */ = 20==__shift_num_299 /* 242 */ ;
assign __cond_321 /* 242 */ = 21==__shift_num_299 /* 242 */ ;
assign __cond_322 /* 242 */ = 22==__shift_num_299 /* 242 */ ;
assign __cond_323 /* 242 */ = 23==__shift_num_299 /* 242 */ ;
assign __mant_sft_289 /* 39 */ = (__shift_num_299<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_300} }&((__mant_288>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_301} }&((__mant_288>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_302} }&((__mant_288>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_303} }&((__mant_288>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_304} }&((__mant_288>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_305} }&((__mant_288>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_306} }&((__mant_288>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_307} }&((__mant_288>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_308} }&((__mant_288>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_309} }&((__mant_288>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_310} }&((__mant_288>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_311} }&((__mant_288>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_312} }&((__mant_288>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_313} }&((__mant_288>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_314} }&((__mant_288>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_315} }&((__mant_288>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_316} }&((__mant_288>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_317} }&((__mant_288>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_318} }&((__mant_288>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_319} }&((__mant_288>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_320} }&((__mant_288>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_321} }&((__mant_288>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_322} }&((__mant_288>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_323} }&((__mant_288>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_290 /* 47 */ = (__sign_285 /* 48 */ )?(~__mant_sft_289 /* 48 */ ):__mant_sft_289 /* 49 */  /* 49 */ ;
assign __norms_297[1] /* 32 */ = (|(__expn_292)) /* 32 */ ;
assign __sign_291 /* 33 */ = __imag_x_real_144[31] /* 33 */ ;
assign __expn_292 /* 34 */ = __imag_x_real_144[30:23] /* 34 */ ;
assign __mant_294[22:0] /* 35 */ = __imag_x_real_144[22:0] /* 35 */ ;
assign __mant_294[23] /* 36 */ = __norms_297[1] /* 36 */ ;
assign __expn_d_293 /* 37 */ = __expn_292+!__norms_297[1] /* 37 */ ;
assign __shift_num_324 /* 38 */ = __expn_aln_298-__expn_d_293 /* 38 */ ;
assign __cond_325 /* 242 */ = 0==__shift_num_324 /* 242 */ ;
assign __cond_326 /* 242 */ = 1==__shift_num_324 /* 242 */ ;
assign __cond_327 /* 242 */ = 2==__shift_num_324 /* 242 */ ;
assign __cond_328 /* 242 */ = 3==__shift_num_324 /* 242 */ ;
assign __cond_329 /* 242 */ = 4==__shift_num_324 /* 242 */ ;
assign __cond_330 /* 242 */ = 5==__shift_num_324 /* 242 */ ;
assign __cond_331 /* 242 */ = 6==__shift_num_324 /* 242 */ ;
assign __cond_332 /* 242 */ = 7==__shift_num_324 /* 242 */ ;
assign __cond_333 /* 242 */ = 8==__shift_num_324 /* 242 */ ;
assign __cond_334 /* 242 */ = 9==__shift_num_324 /* 242 */ ;
assign __cond_335 /* 242 */ = 10==__shift_num_324 /* 242 */ ;
assign __cond_336 /* 242 */ = 11==__shift_num_324 /* 242 */ ;
assign __cond_337 /* 242 */ = 12==__shift_num_324 /* 242 */ ;
assign __cond_338 /* 242 */ = 13==__shift_num_324 /* 242 */ ;
assign __cond_339 /* 242 */ = 14==__shift_num_324 /* 242 */ ;
assign __cond_340 /* 242 */ = 15==__shift_num_324 /* 242 */ ;
assign __cond_341 /* 242 */ = 16==__shift_num_324 /* 242 */ ;
assign __cond_342 /* 242 */ = 17==__shift_num_324 /* 242 */ ;
assign __cond_343 /* 242 */ = 18==__shift_num_324 /* 242 */ ;
assign __cond_344 /* 242 */ = 19==__shift_num_324 /* 242 */ ;
assign __cond_345 /* 242 */ = 20==__shift_num_324 /* 242 */ ;
assign __cond_346 /* 242 */ = 21==__shift_num_324 /* 242 */ ;
assign __cond_347 /* 242 */ = 22==__shift_num_324 /* 242 */ ;
assign __cond_348 /* 242 */ = 23==__shift_num_324 /* 242 */ ;
assign __mant_sft_295 /* 39 */ = (__shift_num_324<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_325} }&((__mant_294>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_326} }&((__mant_294>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_327} }&((__mant_294>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_328} }&((__mant_294>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_329} }&((__mant_294>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_330} }&((__mant_294>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_331} }&((__mant_294>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_332} }&((__mant_294>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_333} }&((__mant_294>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_334} }&((__mant_294>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_335} }&((__mant_294>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_336} }&((__mant_294>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_337} }&((__mant_294>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_338} }&((__mant_294>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_339} }&((__mant_294>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_340} }&((__mant_294>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_341} }&((__mant_294>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_342} }&((__mant_294>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_343} }&((__mant_294>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_344} }&((__mant_294>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_345} }&((__mant_294>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_346} }&((__mant_294>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_347} }&((__mant_294>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_348} }&((__mant_294>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_296 /* 47 */ = (__sign_291 /* 48 */ )?(~__mant_sft_295 /* 48 */ ):__mant_sft_295 /* 49 */  /* 49 */ ;
assign ___s_reg_284[34:27] /* 51 */ = (__ctrl_valid_84 /* 52 */ )?(__expn_aln_298 /* 53 */ ):__s_reg_284[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_284[26:0] /* 57 */ = (__ctrl_valid_84 /* 58 */ )?(__mant_sgn_290+__mant_sgn_296+__sign_285+__sign_291 /* 59 */ ):__s_reg_284[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_349 /* 63 */ = __expn_d_293-__expn_d_287 /* 63 */ ;
assign __expn_aln_298 /* 64 */ = (__expn_dif_349[8] /* 65 */ )?(__expn_d_287 /* 66 */ ):__expn_d_293 /* 68 */  /* 67 */ ;
assign __expn_10r_350 /* 70 */ = __s_reg_284[34:27] /* 70 */ ;
assign __mant_10_351 /* 71 */ = __s_reg_284[26:0] /* 71 */ ;
assign __mant_10_abs_352 /* 73 */ = (__mant_10_351[26] /* 74 */ )?(~__mant_10_351 /* 74 */ ):__mant_10_351 /* 75 */  /* 75 */ ;
assign __mant_padded_353 /* 77 */ = { __mant_10_abs_352,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_355 /* 82 */ = !__mant_10_abs_352 /* 82 */ ;
assign __lead_zeros_354 /* 84 */ = (__mant_10_abs_352[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_352[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_356 /* 93 */ = __expn_10r_350+2-__lead_zeros_354 /* 93 */ ;
assign __sum_sign_357 /* 94 */ = __mant_10_351[26] /* 94 */ ;
assign __sum_expn_358 /* 95 */ = (__all_zero_355||__expn_sft_356[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_356[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_356[7:0] /* 98 */  /* 98 */ ;
assign __cond_360 /* 242 */ = 0==__lead_zeros_354 /* 242 */ ;
assign __cond_361 /* 242 */ = 1==__lead_zeros_354 /* 242 */ ;
assign __cond_362 /* 242 */ = 2==__lead_zeros_354 /* 242 */ ;
assign __cond_363 /* 242 */ = 3==__lead_zeros_354 /* 242 */ ;
assign __cond_364 /* 242 */ = 4==__lead_zeros_354 /* 242 */ ;
assign __cond_365 /* 242 */ = 5==__lead_zeros_354 /* 242 */ ;
assign __cond_366 /* 242 */ = 6==__lead_zeros_354 /* 242 */ ;
assign __cond_367 /* 242 */ = 7==__lead_zeros_354 /* 242 */ ;
assign __cond_368 /* 242 */ = 8==__lead_zeros_354 /* 242 */ ;
assign __cond_369 /* 242 */ = 9==__lead_zeros_354 /* 242 */ ;
assign __cond_370 /* 242 */ = 10==__lead_zeros_354 /* 242 */ ;
assign __cond_371 /* 242 */ = 11==__lead_zeros_354 /* 242 */ ;
assign __cond_372 /* 242 */ = 12==__lead_zeros_354 /* 242 */ ;
assign __cond_373 /* 242 */ = 13==__lead_zeros_354 /* 242 */ ;
assign __cond_374 /* 242 */ = 14==__lead_zeros_354 /* 242 */ ;
assign __cond_375 /* 242 */ = 15==__lead_zeros_354 /* 242 */ ;
assign __cond_376 /* 242 */ = 16==__lead_zeros_354 /* 242 */ ;
assign __cond_377 /* 242 */ = 17==__lead_zeros_354 /* 242 */ ;
assign __cond_378 /* 242 */ = 18==__lead_zeros_354 /* 242 */ ;
assign __cond_379 /* 242 */ = 19==__lead_zeros_354 /* 242 */ ;
assign __cond_380 /* 242 */ = 20==__lead_zeros_354 /* 242 */ ;
assign __cond_381 /* 242 */ = 21==__lead_zeros_354 /* 242 */ ;
assign __cond_382 /* 242 */ = 22==__lead_zeros_354 /* 242 */ ;
assign __cond_383 /* 242 */ = 23==__lead_zeros_354 /* 242 */ ;
assign __cond_384 /* 242 */ = 24==__lead_zeros_354 /* 242 */ ;
assign __cond_385 /* 242 */ = 25==__lead_zeros_354 /* 242 */ ;
assign __sum_mant_359 /* 100 */ = (__all_zero_355 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_360} }&((__mant_padded_353[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_361} }&((__mant_padded_353[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_362} }&((__mant_padded_353[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_363} }&((__mant_padded_353[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_364} }&((__mant_padded_353[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_365} }&((__mant_padded_353[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_366} }&((__mant_padded_353[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_367} }&((__mant_padded_353[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_368} }&((__mant_padded_353[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_369} }&((__mant_padded_353[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_370} }&((__mant_padded_353[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_371} }&((__mant_padded_353[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_372} }&((__mant_padded_353[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_373} }&((__mant_padded_353[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_374} }&((__mant_padded_353[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_375} }&((__mant_padded_353[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_376} }&((__mant_padded_353[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_377} }&((__mant_padded_353[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_378} }&((__mant_padded_353[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_379} }&((__mant_padded_353[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_380} }&((__mant_padded_353[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_381} }&((__mant_padded_353[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_382} }&((__mant_padded_353[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_383} }&((__mant_padded_353[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_384} }&((__mant_padded_353[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_385} }&((__mant_padded_353[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_283[31] /* 108 */ = __sum_sign_357 /* 108 */ ;
assign __result_283[30:23] /* 109 */ = __sum_expn_358 /* 109 */ ;
assign __result_283[22:0] /* 110 */ = __sum_mant_359 /* 110 */ ;
assign __prod_imag_141 /* 216 */ = (__result_283 /* 111 */ ) /* 216 */ ;
assign ___complex_prod_146 /* 218 */ = (__ctrl_valid_88 /* 219 */ )?({ __prod_real_140,__prod_imag_141 } /* 220 */ ):__complex_prod_146 /* 222 */  /* 221 */ ;
assign __e_135 /* 545 */ = (__complex_prod_146 /* 225 */ ) /* 545 */ ;
assign __neg_e_386 /* 548 */ = { 1'b1,__e_135[62:0] } /* 548 */ ;
assign __a_1_real_387 /* 163 */ = __t_134[63:32] /* 163 */ ;
assign __a_1_imag_388 /* 164 */ = __t_134[31:0] /* 164 */ ;
assign __a_2_real_389 /* 166 */ = __e_135[63:32] /* 166 */ ;
assign __a_2_imag_390 /* 167 */ = __e_135[31:0] /* 167 */ ;
assign __norms_408[0] /* 32 */ = (|(__expn_397)) /* 32 */ ;
assign __sign_396 /* 33 */ = __a_1_real_387[31] /* 33 */ ;
assign __expn_397 /* 34 */ = __a_1_real_387[30:23] /* 34 */ ;
assign __mant_399[22:0] /* 35 */ = __a_1_real_387[22:0] /* 35 */ ;
assign __mant_399[23] /* 36 */ = __norms_408[0] /* 36 */ ;
assign __expn_d_398 /* 37 */ = __expn_397+!__norms_408[0] /* 37 */ ;
assign __shift_num_410 /* 38 */ = __expn_aln_409-__expn_d_398 /* 38 */ ;
assign __cond_411 /* 242 */ = 0==__shift_num_410 /* 242 */ ;
assign __cond_412 /* 242 */ = 1==__shift_num_410 /* 242 */ ;
assign __cond_413 /* 242 */ = 2==__shift_num_410 /* 242 */ ;
assign __cond_414 /* 242 */ = 3==__shift_num_410 /* 242 */ ;
assign __cond_415 /* 242 */ = 4==__shift_num_410 /* 242 */ ;
assign __cond_416 /* 242 */ = 5==__shift_num_410 /* 242 */ ;
assign __cond_417 /* 242 */ = 6==__shift_num_410 /* 242 */ ;
assign __cond_418 /* 242 */ = 7==__shift_num_410 /* 242 */ ;
assign __cond_419 /* 242 */ = 8==__shift_num_410 /* 242 */ ;
assign __cond_420 /* 242 */ = 9==__shift_num_410 /* 242 */ ;
assign __cond_421 /* 242 */ = 10==__shift_num_410 /* 242 */ ;
assign __cond_422 /* 242 */ = 11==__shift_num_410 /* 242 */ ;
assign __cond_423 /* 242 */ = 12==__shift_num_410 /* 242 */ ;
assign __cond_424 /* 242 */ = 13==__shift_num_410 /* 242 */ ;
assign __cond_425 /* 242 */ = 14==__shift_num_410 /* 242 */ ;
assign __cond_426 /* 242 */ = 15==__shift_num_410 /* 242 */ ;
assign __cond_427 /* 242 */ = 16==__shift_num_410 /* 242 */ ;
assign __cond_428 /* 242 */ = 17==__shift_num_410 /* 242 */ ;
assign __cond_429 /* 242 */ = 18==__shift_num_410 /* 242 */ ;
assign __cond_430 /* 242 */ = 19==__shift_num_410 /* 242 */ ;
assign __cond_431 /* 242 */ = 20==__shift_num_410 /* 242 */ ;
assign __cond_432 /* 242 */ = 21==__shift_num_410 /* 242 */ ;
assign __cond_433 /* 242 */ = 22==__shift_num_410 /* 242 */ ;
assign __cond_434 /* 242 */ = 23==__shift_num_410 /* 242 */ ;
assign __mant_sft_400 /* 39 */ = (__shift_num_410<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_411} }&((__mant_399>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_412} }&((__mant_399>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_413} }&((__mant_399>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_414} }&((__mant_399>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_415} }&((__mant_399>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_416} }&((__mant_399>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_417} }&((__mant_399>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_418} }&((__mant_399>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_419} }&((__mant_399>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_420} }&((__mant_399>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_421} }&((__mant_399>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_422} }&((__mant_399>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_423} }&((__mant_399>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_424} }&((__mant_399>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_425} }&((__mant_399>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_426} }&((__mant_399>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_427} }&((__mant_399>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_428} }&((__mant_399>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_429} }&((__mant_399>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_430} }&((__mant_399>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_431} }&((__mant_399>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_432} }&((__mant_399>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_433} }&((__mant_399>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_434} }&((__mant_399>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_401 /* 47 */ = (__sign_396 /* 48 */ )?(~__mant_sft_400 /* 48 */ ):__mant_sft_400 /* 49 */  /* 49 */ ;
assign __norms_408[1] /* 32 */ = (|(__expn_403)) /* 32 */ ;
assign __sign_402 /* 33 */ = __a_2_real_389[31] /* 33 */ ;
assign __expn_403 /* 34 */ = __a_2_real_389[30:23] /* 34 */ ;
assign __mant_405[22:0] /* 35 */ = __a_2_real_389[22:0] /* 35 */ ;
assign __mant_405[23] /* 36 */ = __norms_408[1] /* 36 */ ;
assign __expn_d_404 /* 37 */ = __expn_403+!__norms_408[1] /* 37 */ ;
assign __shift_num_435 /* 38 */ = __expn_aln_409-__expn_d_404 /* 38 */ ;
assign __cond_436 /* 242 */ = 0==__shift_num_435 /* 242 */ ;
assign __cond_437 /* 242 */ = 1==__shift_num_435 /* 242 */ ;
assign __cond_438 /* 242 */ = 2==__shift_num_435 /* 242 */ ;
assign __cond_439 /* 242 */ = 3==__shift_num_435 /* 242 */ ;
assign __cond_440 /* 242 */ = 4==__shift_num_435 /* 242 */ ;
assign __cond_441 /* 242 */ = 5==__shift_num_435 /* 242 */ ;
assign __cond_442 /* 242 */ = 6==__shift_num_435 /* 242 */ ;
assign __cond_443 /* 242 */ = 7==__shift_num_435 /* 242 */ ;
assign __cond_444 /* 242 */ = 8==__shift_num_435 /* 242 */ ;
assign __cond_445 /* 242 */ = 9==__shift_num_435 /* 242 */ ;
assign __cond_446 /* 242 */ = 10==__shift_num_435 /* 242 */ ;
assign __cond_447 /* 242 */ = 11==__shift_num_435 /* 242 */ ;
assign __cond_448 /* 242 */ = 12==__shift_num_435 /* 242 */ ;
assign __cond_449 /* 242 */ = 13==__shift_num_435 /* 242 */ ;
assign __cond_450 /* 242 */ = 14==__shift_num_435 /* 242 */ ;
assign __cond_451 /* 242 */ = 15==__shift_num_435 /* 242 */ ;
assign __cond_452 /* 242 */ = 16==__shift_num_435 /* 242 */ ;
assign __cond_453 /* 242 */ = 17==__shift_num_435 /* 242 */ ;
assign __cond_454 /* 242 */ = 18==__shift_num_435 /* 242 */ ;
assign __cond_455 /* 242 */ = 19==__shift_num_435 /* 242 */ ;
assign __cond_456 /* 242 */ = 20==__shift_num_435 /* 242 */ ;
assign __cond_457 /* 242 */ = 21==__shift_num_435 /* 242 */ ;
assign __cond_458 /* 242 */ = 22==__shift_num_435 /* 242 */ ;
assign __cond_459 /* 242 */ = 23==__shift_num_435 /* 242 */ ;
assign __mant_sft_406 /* 39 */ = (__shift_num_435<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_436} }&((__mant_405>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_437} }&((__mant_405>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_438} }&((__mant_405>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_439} }&((__mant_405>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_440} }&((__mant_405>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_441} }&((__mant_405>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_442} }&((__mant_405>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_443} }&((__mant_405>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_444} }&((__mant_405>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_445} }&((__mant_405>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_446} }&((__mant_405>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_447} }&((__mant_405>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_448} }&((__mant_405>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_449} }&((__mant_405>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_450} }&((__mant_405>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_451} }&((__mant_405>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_452} }&((__mant_405>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_453} }&((__mant_405>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_454} }&((__mant_405>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_455} }&((__mant_405>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_456} }&((__mant_405>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_457} }&((__mant_405>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_458} }&((__mant_405>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_459} }&((__mant_405>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_407 /* 47 */ = (__sign_402 /* 48 */ )?(~__mant_sft_406 /* 48 */ ):__mant_sft_406 /* 49 */  /* 49 */ ;
assign ___s_reg_395[34:27] /* 51 */ = (__ctrl_valid_92 /* 52 */ )?(__expn_aln_409 /* 53 */ ):__s_reg_395[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_395[26:0] /* 57 */ = (__ctrl_valid_92 /* 58 */ )?(__mant_sgn_401+__mant_sgn_407+__sign_396+__sign_402 /* 59 */ ):__s_reg_395[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_460 /* 63 */ = __expn_d_404-__expn_d_398 /* 63 */ ;
assign __expn_aln_409 /* 64 */ = (__expn_dif_460[8] /* 65 */ )?(__expn_d_398 /* 66 */ ):__expn_d_404 /* 68 */  /* 67 */ ;
assign __expn_10r_461 /* 70 */ = __s_reg_395[34:27] /* 70 */ ;
assign __mant_10_462 /* 71 */ = __s_reg_395[26:0] /* 71 */ ;
assign __mant_10_abs_463 /* 73 */ = (__mant_10_462[26] /* 74 */ )?(~__mant_10_462 /* 74 */ ):__mant_10_462 /* 75 */  /* 75 */ ;
assign __mant_padded_464 /* 77 */ = { __mant_10_abs_463,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_466 /* 82 */ = !__mant_10_abs_463 /* 82 */ ;
assign __lead_zeros_465 /* 84 */ = (__mant_10_abs_463[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_463[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_467 /* 93 */ = __expn_10r_461+2-__lead_zeros_465 /* 93 */ ;
assign __sum_sign_468 /* 94 */ = __mant_10_462[26] /* 94 */ ;
assign __sum_expn_469 /* 95 */ = (__all_zero_466||__expn_sft_467[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_467[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_467[7:0] /* 98 */  /* 98 */ ;
assign __cond_471 /* 242 */ = 0==__lead_zeros_465 /* 242 */ ;
assign __cond_472 /* 242 */ = 1==__lead_zeros_465 /* 242 */ ;
assign __cond_473 /* 242 */ = 2==__lead_zeros_465 /* 242 */ ;
assign __cond_474 /* 242 */ = 3==__lead_zeros_465 /* 242 */ ;
assign __cond_475 /* 242 */ = 4==__lead_zeros_465 /* 242 */ ;
assign __cond_476 /* 242 */ = 5==__lead_zeros_465 /* 242 */ ;
assign __cond_477 /* 242 */ = 6==__lead_zeros_465 /* 242 */ ;
assign __cond_478 /* 242 */ = 7==__lead_zeros_465 /* 242 */ ;
assign __cond_479 /* 242 */ = 8==__lead_zeros_465 /* 242 */ ;
assign __cond_480 /* 242 */ = 9==__lead_zeros_465 /* 242 */ ;
assign __cond_481 /* 242 */ = 10==__lead_zeros_465 /* 242 */ ;
assign __cond_482 /* 242 */ = 11==__lead_zeros_465 /* 242 */ ;
assign __cond_483 /* 242 */ = 12==__lead_zeros_465 /* 242 */ ;
assign __cond_484 /* 242 */ = 13==__lead_zeros_465 /* 242 */ ;
assign __cond_485 /* 242 */ = 14==__lead_zeros_465 /* 242 */ ;
assign __cond_486 /* 242 */ = 15==__lead_zeros_465 /* 242 */ ;
assign __cond_487 /* 242 */ = 16==__lead_zeros_465 /* 242 */ ;
assign __cond_488 /* 242 */ = 17==__lead_zeros_465 /* 242 */ ;
assign __cond_489 /* 242 */ = 18==__lead_zeros_465 /* 242 */ ;
assign __cond_490 /* 242 */ = 19==__lead_zeros_465 /* 242 */ ;
assign __cond_491 /* 242 */ = 20==__lead_zeros_465 /* 242 */ ;
assign __cond_492 /* 242 */ = 21==__lead_zeros_465 /* 242 */ ;
assign __cond_493 /* 242 */ = 22==__lead_zeros_465 /* 242 */ ;
assign __cond_494 /* 242 */ = 23==__lead_zeros_465 /* 242 */ ;
assign __cond_495 /* 242 */ = 24==__lead_zeros_465 /* 242 */ ;
assign __cond_496 /* 242 */ = 25==__lead_zeros_465 /* 242 */ ;
assign __sum_mant_470 /* 100 */ = (__all_zero_466 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_471} }&((__mant_padded_464[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_472} }&((__mant_padded_464[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_473} }&((__mant_padded_464[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_474} }&((__mant_padded_464[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_475} }&((__mant_padded_464[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_476} }&((__mant_padded_464[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_477} }&((__mant_padded_464[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_478} }&((__mant_padded_464[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_479} }&((__mant_padded_464[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_480} }&((__mant_padded_464[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_481} }&((__mant_padded_464[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_482} }&((__mant_padded_464[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_483} }&((__mant_padded_464[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_484} }&((__mant_padded_464[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_485} }&((__mant_padded_464[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_486} }&((__mant_padded_464[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_487} }&((__mant_padded_464[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_488} }&((__mant_padded_464[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_489} }&((__mant_padded_464[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_490} }&((__mant_padded_464[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_491} }&((__mant_padded_464[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_492} }&((__mant_padded_464[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_493} }&((__mant_padded_464[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_494} }&((__mant_padded_464[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_495} }&((__mant_padded_464[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_496} }&((__mant_padded_464[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_394[31] /* 108 */ = __sum_sign_468 /* 108 */ ;
assign __result_394[30:23] /* 109 */ = __sum_expn_469 /* 109 */ ;
assign __result_394[22:0] /* 110 */ = __sum_mant_470 /* 110 */ ;
assign __sum_real_391 /* 171 */ = (__result_394 /* 111 */ ) /* 171 */ ;
assign __norms_511[0] /* 32 */ = (|(__expn_500)) /* 32 */ ;
assign __sign_499 /* 33 */ = __a_1_imag_388[31] /* 33 */ ;
assign __expn_500 /* 34 */ = __a_1_imag_388[30:23] /* 34 */ ;
assign __mant_502[22:0] /* 35 */ = __a_1_imag_388[22:0] /* 35 */ ;
assign __mant_502[23] /* 36 */ = __norms_511[0] /* 36 */ ;
assign __expn_d_501 /* 37 */ = __expn_500+!__norms_511[0] /* 37 */ ;
assign __shift_num_513 /* 38 */ = __expn_aln_512-__expn_d_501 /* 38 */ ;
assign __cond_514 /* 242 */ = 0==__shift_num_513 /* 242 */ ;
assign __cond_515 /* 242 */ = 1==__shift_num_513 /* 242 */ ;
assign __cond_516 /* 242 */ = 2==__shift_num_513 /* 242 */ ;
assign __cond_517 /* 242 */ = 3==__shift_num_513 /* 242 */ ;
assign __cond_518 /* 242 */ = 4==__shift_num_513 /* 242 */ ;
assign __cond_519 /* 242 */ = 5==__shift_num_513 /* 242 */ ;
assign __cond_520 /* 242 */ = 6==__shift_num_513 /* 242 */ ;
assign __cond_521 /* 242 */ = 7==__shift_num_513 /* 242 */ ;
assign __cond_522 /* 242 */ = 8==__shift_num_513 /* 242 */ ;
assign __cond_523 /* 242 */ = 9==__shift_num_513 /* 242 */ ;
assign __cond_524 /* 242 */ = 10==__shift_num_513 /* 242 */ ;
assign __cond_525 /* 242 */ = 11==__shift_num_513 /* 242 */ ;
assign __cond_526 /* 242 */ = 12==__shift_num_513 /* 242 */ ;
assign __cond_527 /* 242 */ = 13==__shift_num_513 /* 242 */ ;
assign __cond_528 /* 242 */ = 14==__shift_num_513 /* 242 */ ;
assign __cond_529 /* 242 */ = 15==__shift_num_513 /* 242 */ ;
assign __cond_530 /* 242 */ = 16==__shift_num_513 /* 242 */ ;
assign __cond_531 /* 242 */ = 17==__shift_num_513 /* 242 */ ;
assign __cond_532 /* 242 */ = 18==__shift_num_513 /* 242 */ ;
assign __cond_533 /* 242 */ = 19==__shift_num_513 /* 242 */ ;
assign __cond_534 /* 242 */ = 20==__shift_num_513 /* 242 */ ;
assign __cond_535 /* 242 */ = 21==__shift_num_513 /* 242 */ ;
assign __cond_536 /* 242 */ = 22==__shift_num_513 /* 242 */ ;
assign __cond_537 /* 242 */ = 23==__shift_num_513 /* 242 */ ;
assign __mant_sft_503 /* 39 */ = (__shift_num_513<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_514} }&((__mant_502>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_515} }&((__mant_502>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_516} }&((__mant_502>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_517} }&((__mant_502>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_518} }&((__mant_502>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_519} }&((__mant_502>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_520} }&((__mant_502>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_521} }&((__mant_502>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_522} }&((__mant_502>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_523} }&((__mant_502>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_524} }&((__mant_502>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_525} }&((__mant_502>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_526} }&((__mant_502>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_527} }&((__mant_502>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_528} }&((__mant_502>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_529} }&((__mant_502>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_530} }&((__mant_502>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_531} }&((__mant_502>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_532} }&((__mant_502>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_533} }&((__mant_502>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_534} }&((__mant_502>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_535} }&((__mant_502>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_536} }&((__mant_502>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_537} }&((__mant_502>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_504 /* 47 */ = (__sign_499 /* 48 */ )?(~__mant_sft_503 /* 48 */ ):__mant_sft_503 /* 49 */  /* 49 */ ;
assign __norms_511[1] /* 32 */ = (|(__expn_506)) /* 32 */ ;
assign __sign_505 /* 33 */ = __a_2_imag_390[31] /* 33 */ ;
assign __expn_506 /* 34 */ = __a_2_imag_390[30:23] /* 34 */ ;
assign __mant_508[22:0] /* 35 */ = __a_2_imag_390[22:0] /* 35 */ ;
assign __mant_508[23] /* 36 */ = __norms_511[1] /* 36 */ ;
assign __expn_d_507 /* 37 */ = __expn_506+!__norms_511[1] /* 37 */ ;
assign __shift_num_538 /* 38 */ = __expn_aln_512-__expn_d_507 /* 38 */ ;
assign __cond_539 /* 242 */ = 0==__shift_num_538 /* 242 */ ;
assign __cond_540 /* 242 */ = 1==__shift_num_538 /* 242 */ ;
assign __cond_541 /* 242 */ = 2==__shift_num_538 /* 242 */ ;
assign __cond_542 /* 242 */ = 3==__shift_num_538 /* 242 */ ;
assign __cond_543 /* 242 */ = 4==__shift_num_538 /* 242 */ ;
assign __cond_544 /* 242 */ = 5==__shift_num_538 /* 242 */ ;
assign __cond_545 /* 242 */ = 6==__shift_num_538 /* 242 */ ;
assign __cond_546 /* 242 */ = 7==__shift_num_538 /* 242 */ ;
assign __cond_547 /* 242 */ = 8==__shift_num_538 /* 242 */ ;
assign __cond_548 /* 242 */ = 9==__shift_num_538 /* 242 */ ;
assign __cond_549 /* 242 */ = 10==__shift_num_538 /* 242 */ ;
assign __cond_550 /* 242 */ = 11==__shift_num_538 /* 242 */ ;
assign __cond_551 /* 242 */ = 12==__shift_num_538 /* 242 */ ;
assign __cond_552 /* 242 */ = 13==__shift_num_538 /* 242 */ ;
assign __cond_553 /* 242 */ = 14==__shift_num_538 /* 242 */ ;
assign __cond_554 /* 242 */ = 15==__shift_num_538 /* 242 */ ;
assign __cond_555 /* 242 */ = 16==__shift_num_538 /* 242 */ ;
assign __cond_556 /* 242 */ = 17==__shift_num_538 /* 242 */ ;
assign __cond_557 /* 242 */ = 18==__shift_num_538 /* 242 */ ;
assign __cond_558 /* 242 */ = 19==__shift_num_538 /* 242 */ ;
assign __cond_559 /* 242 */ = 20==__shift_num_538 /* 242 */ ;
assign __cond_560 /* 242 */ = 21==__shift_num_538 /* 242 */ ;
assign __cond_561 /* 242 */ = 22==__shift_num_538 /* 242 */ ;
assign __cond_562 /* 242 */ = 23==__shift_num_538 /* 242 */ ;
assign __mant_sft_509 /* 39 */ = (__shift_num_538<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_539} }&((__mant_508>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_540} }&((__mant_508>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_541} }&((__mant_508>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_542} }&((__mant_508>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_543} }&((__mant_508>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_544} }&((__mant_508>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_545} }&((__mant_508>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_546} }&((__mant_508>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_547} }&((__mant_508>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_548} }&((__mant_508>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_549} }&((__mant_508>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_550} }&((__mant_508>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_551} }&((__mant_508>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_552} }&((__mant_508>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_553} }&((__mant_508>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_554} }&((__mant_508>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_555} }&((__mant_508>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_556} }&((__mant_508>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_557} }&((__mant_508>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_558} }&((__mant_508>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_559} }&((__mant_508>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_560} }&((__mant_508>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_561} }&((__mant_508>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_562} }&((__mant_508>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_510 /* 47 */ = (__sign_505 /* 48 */ )?(~__mant_sft_509 /* 48 */ ):__mant_sft_509 /* 49 */  /* 49 */ ;
assign ___s_reg_498[34:27] /* 51 */ = (__ctrl_valid_92 /* 52 */ )?(__expn_aln_512 /* 53 */ ):__s_reg_498[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_498[26:0] /* 57 */ = (__ctrl_valid_92 /* 58 */ )?(__mant_sgn_504+__mant_sgn_510+__sign_499+__sign_505 /* 59 */ ):__s_reg_498[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_563 /* 63 */ = __expn_d_507-__expn_d_501 /* 63 */ ;
assign __expn_aln_512 /* 64 */ = (__expn_dif_563[8] /* 65 */ )?(__expn_d_501 /* 66 */ ):__expn_d_507 /* 68 */  /* 67 */ ;
assign __expn_10r_564 /* 70 */ = __s_reg_498[34:27] /* 70 */ ;
assign __mant_10_565 /* 71 */ = __s_reg_498[26:0] /* 71 */ ;
assign __mant_10_abs_566 /* 73 */ = (__mant_10_565[26] /* 74 */ )?(~__mant_10_565 /* 74 */ ):__mant_10_565 /* 75 */  /* 75 */ ;
assign __mant_padded_567 /* 77 */ = { __mant_10_abs_566,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_569 /* 82 */ = !__mant_10_abs_566 /* 82 */ ;
assign __lead_zeros_568 /* 84 */ = (__mant_10_abs_566[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_566[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_570 /* 93 */ = __expn_10r_564+2-__lead_zeros_568 /* 93 */ ;
assign __sum_sign_571 /* 94 */ = __mant_10_565[26] /* 94 */ ;
assign __sum_expn_572 /* 95 */ = (__all_zero_569||__expn_sft_570[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_570[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_570[7:0] /* 98 */  /* 98 */ ;
assign __cond_574 /* 242 */ = 0==__lead_zeros_568 /* 242 */ ;
assign __cond_575 /* 242 */ = 1==__lead_zeros_568 /* 242 */ ;
assign __cond_576 /* 242 */ = 2==__lead_zeros_568 /* 242 */ ;
assign __cond_577 /* 242 */ = 3==__lead_zeros_568 /* 242 */ ;
assign __cond_578 /* 242 */ = 4==__lead_zeros_568 /* 242 */ ;
assign __cond_579 /* 242 */ = 5==__lead_zeros_568 /* 242 */ ;
assign __cond_580 /* 242 */ = 6==__lead_zeros_568 /* 242 */ ;
assign __cond_581 /* 242 */ = 7==__lead_zeros_568 /* 242 */ ;
assign __cond_582 /* 242 */ = 8==__lead_zeros_568 /* 242 */ ;
assign __cond_583 /* 242 */ = 9==__lead_zeros_568 /* 242 */ ;
assign __cond_584 /* 242 */ = 10==__lead_zeros_568 /* 242 */ ;
assign __cond_585 /* 242 */ = 11==__lead_zeros_568 /* 242 */ ;
assign __cond_586 /* 242 */ = 12==__lead_zeros_568 /* 242 */ ;
assign __cond_587 /* 242 */ = 13==__lead_zeros_568 /* 242 */ ;
assign __cond_588 /* 242 */ = 14==__lead_zeros_568 /* 242 */ ;
assign __cond_589 /* 242 */ = 15==__lead_zeros_568 /* 242 */ ;
assign __cond_590 /* 242 */ = 16==__lead_zeros_568 /* 242 */ ;
assign __cond_591 /* 242 */ = 17==__lead_zeros_568 /* 242 */ ;
assign __cond_592 /* 242 */ = 18==__lead_zeros_568 /* 242 */ ;
assign __cond_593 /* 242 */ = 19==__lead_zeros_568 /* 242 */ ;
assign __cond_594 /* 242 */ = 20==__lead_zeros_568 /* 242 */ ;
assign __cond_595 /* 242 */ = 21==__lead_zeros_568 /* 242 */ ;
assign __cond_596 /* 242 */ = 22==__lead_zeros_568 /* 242 */ ;
assign __cond_597 /* 242 */ = 23==__lead_zeros_568 /* 242 */ ;
assign __cond_598 /* 242 */ = 24==__lead_zeros_568 /* 242 */ ;
assign __cond_599 /* 242 */ = 25==__lead_zeros_568 /* 242 */ ;
assign __sum_mant_573 /* 100 */ = (__all_zero_569 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_574} }&((__mant_padded_567[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_575} }&((__mant_padded_567[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_576} }&((__mant_padded_567[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_577} }&((__mant_padded_567[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_578} }&((__mant_padded_567[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_579} }&((__mant_padded_567[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_580} }&((__mant_padded_567[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_581} }&((__mant_padded_567[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_582} }&((__mant_padded_567[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_583} }&((__mant_padded_567[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_584} }&((__mant_padded_567[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_585} }&((__mant_padded_567[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_586} }&((__mant_padded_567[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_587} }&((__mant_padded_567[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_588} }&((__mant_padded_567[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_589} }&((__mant_padded_567[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_590} }&((__mant_padded_567[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_591} }&((__mant_padded_567[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_592} }&((__mant_padded_567[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_593} }&((__mant_padded_567[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_594} }&((__mant_padded_567[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_595} }&((__mant_padded_567[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_596} }&((__mant_padded_567[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_597} }&((__mant_padded_567[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_598} }&((__mant_padded_567[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_599} }&((__mant_padded_567[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_497[31] /* 108 */ = __sum_sign_571 /* 108 */ ;
assign __result_497[30:23] /* 109 */ = __sum_expn_572 /* 109 */ ;
assign __result_497[22:0] /* 110 */ = __sum_mant_573 /* 110 */ ;
assign __sum_imag_392 /* 172 */ = (__result_497 /* 111 */ ) /* 172 */ ;
assign ___complex_sum_393 /* 174 */ = (__ctrl_valid_96 /* 175 */ )?({ __sum_real_391,__sum_imag_392 } /* 176 */ ):__complex_sum_393 /* 178 */  /* 177 */ ;
assign __out_add_132 /* 550 */ = (__complex_sum_393 /* 180 */ ) /* 550 */ ;
assign __a_1_real_600 /* 163 */ = __t_134[63:32] /* 163 */ ;
assign __a_1_imag_601 /* 164 */ = __t_134[31:0] /* 164 */ ;
assign __a_2_real_602 /* 166 */ = __neg_e_386[63:32] /* 166 */ ;
assign __a_2_imag_603 /* 167 */ = __neg_e_386[31:0] /* 167 */ ;
assign __norms_621[0] /* 32 */ = (|(__expn_610)) /* 32 */ ;
assign __sign_609 /* 33 */ = __a_1_real_600[31] /* 33 */ ;
assign __expn_610 /* 34 */ = __a_1_real_600[30:23] /* 34 */ ;
assign __mant_612[22:0] /* 35 */ = __a_1_real_600[22:0] /* 35 */ ;
assign __mant_612[23] /* 36 */ = __norms_621[0] /* 36 */ ;
assign __expn_d_611 /* 37 */ = __expn_610+!__norms_621[0] /* 37 */ ;
assign __shift_num_623 /* 38 */ = __expn_aln_622-__expn_d_611 /* 38 */ ;
assign __cond_624 /* 242 */ = 0==__shift_num_623 /* 242 */ ;
assign __cond_625 /* 242 */ = 1==__shift_num_623 /* 242 */ ;
assign __cond_626 /* 242 */ = 2==__shift_num_623 /* 242 */ ;
assign __cond_627 /* 242 */ = 3==__shift_num_623 /* 242 */ ;
assign __cond_628 /* 242 */ = 4==__shift_num_623 /* 242 */ ;
assign __cond_629 /* 242 */ = 5==__shift_num_623 /* 242 */ ;
assign __cond_630 /* 242 */ = 6==__shift_num_623 /* 242 */ ;
assign __cond_631 /* 242 */ = 7==__shift_num_623 /* 242 */ ;
assign __cond_632 /* 242 */ = 8==__shift_num_623 /* 242 */ ;
assign __cond_633 /* 242 */ = 9==__shift_num_623 /* 242 */ ;
assign __cond_634 /* 242 */ = 10==__shift_num_623 /* 242 */ ;
assign __cond_635 /* 242 */ = 11==__shift_num_623 /* 242 */ ;
assign __cond_636 /* 242 */ = 12==__shift_num_623 /* 242 */ ;
assign __cond_637 /* 242 */ = 13==__shift_num_623 /* 242 */ ;
assign __cond_638 /* 242 */ = 14==__shift_num_623 /* 242 */ ;
assign __cond_639 /* 242 */ = 15==__shift_num_623 /* 242 */ ;
assign __cond_640 /* 242 */ = 16==__shift_num_623 /* 242 */ ;
assign __cond_641 /* 242 */ = 17==__shift_num_623 /* 242 */ ;
assign __cond_642 /* 242 */ = 18==__shift_num_623 /* 242 */ ;
assign __cond_643 /* 242 */ = 19==__shift_num_623 /* 242 */ ;
assign __cond_644 /* 242 */ = 20==__shift_num_623 /* 242 */ ;
assign __cond_645 /* 242 */ = 21==__shift_num_623 /* 242 */ ;
assign __cond_646 /* 242 */ = 22==__shift_num_623 /* 242 */ ;
assign __cond_647 /* 242 */ = 23==__shift_num_623 /* 242 */ ;
assign __mant_sft_613 /* 39 */ = (__shift_num_623<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_624} }&((__mant_612>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_625} }&((__mant_612>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_626} }&((__mant_612>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_627} }&((__mant_612>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_628} }&((__mant_612>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_629} }&((__mant_612>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_630} }&((__mant_612>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_631} }&((__mant_612>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_632} }&((__mant_612>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_633} }&((__mant_612>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_634} }&((__mant_612>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_635} }&((__mant_612>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_636} }&((__mant_612>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_637} }&((__mant_612>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_638} }&((__mant_612>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_639} }&((__mant_612>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_640} }&((__mant_612>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_641} }&((__mant_612>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_642} }&((__mant_612>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_643} }&((__mant_612>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_644} }&((__mant_612>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_645} }&((__mant_612>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_646} }&((__mant_612>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_647} }&((__mant_612>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_614 /* 47 */ = (__sign_609 /* 48 */ )?(~__mant_sft_613 /* 48 */ ):__mant_sft_613 /* 49 */  /* 49 */ ;
assign __norms_621[1] /* 32 */ = (|(__expn_616)) /* 32 */ ;
assign __sign_615 /* 33 */ = __a_2_real_602[31] /* 33 */ ;
assign __expn_616 /* 34 */ = __a_2_real_602[30:23] /* 34 */ ;
assign __mant_618[22:0] /* 35 */ = __a_2_real_602[22:0] /* 35 */ ;
assign __mant_618[23] /* 36 */ = __norms_621[1] /* 36 */ ;
assign __expn_d_617 /* 37 */ = __expn_616+!__norms_621[1] /* 37 */ ;
assign __shift_num_648 /* 38 */ = __expn_aln_622-__expn_d_617 /* 38 */ ;
assign __cond_649 /* 242 */ = 0==__shift_num_648 /* 242 */ ;
assign __cond_650 /* 242 */ = 1==__shift_num_648 /* 242 */ ;
assign __cond_651 /* 242 */ = 2==__shift_num_648 /* 242 */ ;
assign __cond_652 /* 242 */ = 3==__shift_num_648 /* 242 */ ;
assign __cond_653 /* 242 */ = 4==__shift_num_648 /* 242 */ ;
assign __cond_654 /* 242 */ = 5==__shift_num_648 /* 242 */ ;
assign __cond_655 /* 242 */ = 6==__shift_num_648 /* 242 */ ;
assign __cond_656 /* 242 */ = 7==__shift_num_648 /* 242 */ ;
assign __cond_657 /* 242 */ = 8==__shift_num_648 /* 242 */ ;
assign __cond_658 /* 242 */ = 9==__shift_num_648 /* 242 */ ;
assign __cond_659 /* 242 */ = 10==__shift_num_648 /* 242 */ ;
assign __cond_660 /* 242 */ = 11==__shift_num_648 /* 242 */ ;
assign __cond_661 /* 242 */ = 12==__shift_num_648 /* 242 */ ;
assign __cond_662 /* 242 */ = 13==__shift_num_648 /* 242 */ ;
assign __cond_663 /* 242 */ = 14==__shift_num_648 /* 242 */ ;
assign __cond_664 /* 242 */ = 15==__shift_num_648 /* 242 */ ;
assign __cond_665 /* 242 */ = 16==__shift_num_648 /* 242 */ ;
assign __cond_666 /* 242 */ = 17==__shift_num_648 /* 242 */ ;
assign __cond_667 /* 242 */ = 18==__shift_num_648 /* 242 */ ;
assign __cond_668 /* 242 */ = 19==__shift_num_648 /* 242 */ ;
assign __cond_669 /* 242 */ = 20==__shift_num_648 /* 242 */ ;
assign __cond_670 /* 242 */ = 21==__shift_num_648 /* 242 */ ;
assign __cond_671 /* 242 */ = 22==__shift_num_648 /* 242 */ ;
assign __cond_672 /* 242 */ = 23==__shift_num_648 /* 242 */ ;
assign __mant_sft_619 /* 39 */ = (__shift_num_648<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_649} }&((__mant_618>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_650} }&((__mant_618>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_651} }&((__mant_618>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_652} }&((__mant_618>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_653} }&((__mant_618>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_654} }&((__mant_618>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_655} }&((__mant_618>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_656} }&((__mant_618>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_657} }&((__mant_618>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_658} }&((__mant_618>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_659} }&((__mant_618>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_660} }&((__mant_618>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_661} }&((__mant_618>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_662} }&((__mant_618>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_663} }&((__mant_618>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_664} }&((__mant_618>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_665} }&((__mant_618>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_666} }&((__mant_618>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_667} }&((__mant_618>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_668} }&((__mant_618>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_669} }&((__mant_618>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_670} }&((__mant_618>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_671} }&((__mant_618>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_672} }&((__mant_618>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_620 /* 47 */ = (__sign_615 /* 48 */ )?(~__mant_sft_619 /* 48 */ ):__mant_sft_619 /* 49 */  /* 49 */ ;
assign ___s_reg_608[34:27] /* 51 */ = (__ctrl_valid_92 /* 52 */ )?(__expn_aln_622 /* 53 */ ):__s_reg_608[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_608[26:0] /* 57 */ = (__ctrl_valid_92 /* 58 */ )?(__mant_sgn_614+__mant_sgn_620+__sign_609+__sign_615 /* 59 */ ):__s_reg_608[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_673 /* 63 */ = __expn_d_617-__expn_d_611 /* 63 */ ;
assign __expn_aln_622 /* 64 */ = (__expn_dif_673[8] /* 65 */ )?(__expn_d_611 /* 66 */ ):__expn_d_617 /* 68 */  /* 67 */ ;
assign __expn_10r_674 /* 70 */ = __s_reg_608[34:27] /* 70 */ ;
assign __mant_10_675 /* 71 */ = __s_reg_608[26:0] /* 71 */ ;
assign __mant_10_abs_676 /* 73 */ = (__mant_10_675[26] /* 74 */ )?(~__mant_10_675 /* 74 */ ):__mant_10_675 /* 75 */  /* 75 */ ;
assign __mant_padded_677 /* 77 */ = { __mant_10_abs_676,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_679 /* 82 */ = !__mant_10_abs_676 /* 82 */ ;
assign __lead_zeros_678 /* 84 */ = (__mant_10_abs_676[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_676[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_680 /* 93 */ = __expn_10r_674+2-__lead_zeros_678 /* 93 */ ;
assign __sum_sign_681 /* 94 */ = __mant_10_675[26] /* 94 */ ;
assign __sum_expn_682 /* 95 */ = (__all_zero_679||__expn_sft_680[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_680[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_680[7:0] /* 98 */  /* 98 */ ;
assign __cond_684 /* 242 */ = 0==__lead_zeros_678 /* 242 */ ;
assign __cond_685 /* 242 */ = 1==__lead_zeros_678 /* 242 */ ;
assign __cond_686 /* 242 */ = 2==__lead_zeros_678 /* 242 */ ;
assign __cond_687 /* 242 */ = 3==__lead_zeros_678 /* 242 */ ;
assign __cond_688 /* 242 */ = 4==__lead_zeros_678 /* 242 */ ;
assign __cond_689 /* 242 */ = 5==__lead_zeros_678 /* 242 */ ;
assign __cond_690 /* 242 */ = 6==__lead_zeros_678 /* 242 */ ;
assign __cond_691 /* 242 */ = 7==__lead_zeros_678 /* 242 */ ;
assign __cond_692 /* 242 */ = 8==__lead_zeros_678 /* 242 */ ;
assign __cond_693 /* 242 */ = 9==__lead_zeros_678 /* 242 */ ;
assign __cond_694 /* 242 */ = 10==__lead_zeros_678 /* 242 */ ;
assign __cond_695 /* 242 */ = 11==__lead_zeros_678 /* 242 */ ;
assign __cond_696 /* 242 */ = 12==__lead_zeros_678 /* 242 */ ;
assign __cond_697 /* 242 */ = 13==__lead_zeros_678 /* 242 */ ;
assign __cond_698 /* 242 */ = 14==__lead_zeros_678 /* 242 */ ;
assign __cond_699 /* 242 */ = 15==__lead_zeros_678 /* 242 */ ;
assign __cond_700 /* 242 */ = 16==__lead_zeros_678 /* 242 */ ;
assign __cond_701 /* 242 */ = 17==__lead_zeros_678 /* 242 */ ;
assign __cond_702 /* 242 */ = 18==__lead_zeros_678 /* 242 */ ;
assign __cond_703 /* 242 */ = 19==__lead_zeros_678 /* 242 */ ;
assign __cond_704 /* 242 */ = 20==__lead_zeros_678 /* 242 */ ;
assign __cond_705 /* 242 */ = 21==__lead_zeros_678 /* 242 */ ;
assign __cond_706 /* 242 */ = 22==__lead_zeros_678 /* 242 */ ;
assign __cond_707 /* 242 */ = 23==__lead_zeros_678 /* 242 */ ;
assign __cond_708 /* 242 */ = 24==__lead_zeros_678 /* 242 */ ;
assign __cond_709 /* 242 */ = 25==__lead_zeros_678 /* 242 */ ;
assign __sum_mant_683 /* 100 */ = (__all_zero_679 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_684} }&((__mant_padded_677[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_685} }&((__mant_padded_677[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_686} }&((__mant_padded_677[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_687} }&((__mant_padded_677[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_688} }&((__mant_padded_677[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_689} }&((__mant_padded_677[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_690} }&((__mant_padded_677[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_691} }&((__mant_padded_677[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_692} }&((__mant_padded_677[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_693} }&((__mant_padded_677[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_694} }&((__mant_padded_677[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_695} }&((__mant_padded_677[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_696} }&((__mant_padded_677[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_697} }&((__mant_padded_677[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_698} }&((__mant_padded_677[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_699} }&((__mant_padded_677[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_700} }&((__mant_padded_677[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_701} }&((__mant_padded_677[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_702} }&((__mant_padded_677[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_703} }&((__mant_padded_677[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_704} }&((__mant_padded_677[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_705} }&((__mant_padded_677[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_706} }&((__mant_padded_677[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_707} }&((__mant_padded_677[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_708} }&((__mant_padded_677[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_709} }&((__mant_padded_677[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_607[31] /* 108 */ = __sum_sign_681 /* 108 */ ;
assign __result_607[30:23] /* 109 */ = __sum_expn_682 /* 109 */ ;
assign __result_607[22:0] /* 110 */ = __sum_mant_683 /* 110 */ ;
assign __sum_real_604 /* 171 */ = (__result_607 /* 111 */ ) /* 171 */ ;
assign __norms_724[0] /* 32 */ = (|(__expn_713)) /* 32 */ ;
assign __sign_712 /* 33 */ = __a_1_imag_601[31] /* 33 */ ;
assign __expn_713 /* 34 */ = __a_1_imag_601[30:23] /* 34 */ ;
assign __mant_715[22:0] /* 35 */ = __a_1_imag_601[22:0] /* 35 */ ;
assign __mant_715[23] /* 36 */ = __norms_724[0] /* 36 */ ;
assign __expn_d_714 /* 37 */ = __expn_713+!__norms_724[0] /* 37 */ ;
assign __shift_num_726 /* 38 */ = __expn_aln_725-__expn_d_714 /* 38 */ ;
assign __cond_727 /* 242 */ = 0==__shift_num_726 /* 242 */ ;
assign __cond_728 /* 242 */ = 1==__shift_num_726 /* 242 */ ;
assign __cond_729 /* 242 */ = 2==__shift_num_726 /* 242 */ ;
assign __cond_730 /* 242 */ = 3==__shift_num_726 /* 242 */ ;
assign __cond_731 /* 242 */ = 4==__shift_num_726 /* 242 */ ;
assign __cond_732 /* 242 */ = 5==__shift_num_726 /* 242 */ ;
assign __cond_733 /* 242 */ = 6==__shift_num_726 /* 242 */ ;
assign __cond_734 /* 242 */ = 7==__shift_num_726 /* 242 */ ;
assign __cond_735 /* 242 */ = 8==__shift_num_726 /* 242 */ ;
assign __cond_736 /* 242 */ = 9==__shift_num_726 /* 242 */ ;
assign __cond_737 /* 242 */ = 10==__shift_num_726 /* 242 */ ;
assign __cond_738 /* 242 */ = 11==__shift_num_726 /* 242 */ ;
assign __cond_739 /* 242 */ = 12==__shift_num_726 /* 242 */ ;
assign __cond_740 /* 242 */ = 13==__shift_num_726 /* 242 */ ;
assign __cond_741 /* 242 */ = 14==__shift_num_726 /* 242 */ ;
assign __cond_742 /* 242 */ = 15==__shift_num_726 /* 242 */ ;
assign __cond_743 /* 242 */ = 16==__shift_num_726 /* 242 */ ;
assign __cond_744 /* 242 */ = 17==__shift_num_726 /* 242 */ ;
assign __cond_745 /* 242 */ = 18==__shift_num_726 /* 242 */ ;
assign __cond_746 /* 242 */ = 19==__shift_num_726 /* 242 */ ;
assign __cond_747 /* 242 */ = 20==__shift_num_726 /* 242 */ ;
assign __cond_748 /* 242 */ = 21==__shift_num_726 /* 242 */ ;
assign __cond_749 /* 242 */ = 22==__shift_num_726 /* 242 */ ;
assign __cond_750 /* 242 */ = 23==__shift_num_726 /* 242 */ ;
assign __mant_sft_716 /* 39 */ = (__shift_num_726<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_727} }&((__mant_715>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_728} }&((__mant_715>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_729} }&((__mant_715>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_730} }&((__mant_715>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_731} }&((__mant_715>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_732} }&((__mant_715>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_733} }&((__mant_715>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_734} }&((__mant_715>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_735} }&((__mant_715>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_736} }&((__mant_715>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_737} }&((__mant_715>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_738} }&((__mant_715>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_739} }&((__mant_715>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_740} }&((__mant_715>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_741} }&((__mant_715>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_742} }&((__mant_715>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_743} }&((__mant_715>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_744} }&((__mant_715>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_745} }&((__mant_715>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_746} }&((__mant_715>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_747} }&((__mant_715>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_748} }&((__mant_715>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_749} }&((__mant_715>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_750} }&((__mant_715>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_717 /* 47 */ = (__sign_712 /* 48 */ )?(~__mant_sft_716 /* 48 */ ):__mant_sft_716 /* 49 */  /* 49 */ ;
assign __norms_724[1] /* 32 */ = (|(__expn_719)) /* 32 */ ;
assign __sign_718 /* 33 */ = __a_2_imag_603[31] /* 33 */ ;
assign __expn_719 /* 34 */ = __a_2_imag_603[30:23] /* 34 */ ;
assign __mant_721[22:0] /* 35 */ = __a_2_imag_603[22:0] /* 35 */ ;
assign __mant_721[23] /* 36 */ = __norms_724[1] /* 36 */ ;
assign __expn_d_720 /* 37 */ = __expn_719+!__norms_724[1] /* 37 */ ;
assign __shift_num_751 /* 38 */ = __expn_aln_725-__expn_d_720 /* 38 */ ;
assign __cond_752 /* 242 */ = 0==__shift_num_751 /* 242 */ ;
assign __cond_753 /* 242 */ = 1==__shift_num_751 /* 242 */ ;
assign __cond_754 /* 242 */ = 2==__shift_num_751 /* 242 */ ;
assign __cond_755 /* 242 */ = 3==__shift_num_751 /* 242 */ ;
assign __cond_756 /* 242 */ = 4==__shift_num_751 /* 242 */ ;
assign __cond_757 /* 242 */ = 5==__shift_num_751 /* 242 */ ;
assign __cond_758 /* 242 */ = 6==__shift_num_751 /* 242 */ ;
assign __cond_759 /* 242 */ = 7==__shift_num_751 /* 242 */ ;
assign __cond_760 /* 242 */ = 8==__shift_num_751 /* 242 */ ;
assign __cond_761 /* 242 */ = 9==__shift_num_751 /* 242 */ ;
assign __cond_762 /* 242 */ = 10==__shift_num_751 /* 242 */ ;
assign __cond_763 /* 242 */ = 11==__shift_num_751 /* 242 */ ;
assign __cond_764 /* 242 */ = 12==__shift_num_751 /* 242 */ ;
assign __cond_765 /* 242 */ = 13==__shift_num_751 /* 242 */ ;
assign __cond_766 /* 242 */ = 14==__shift_num_751 /* 242 */ ;
assign __cond_767 /* 242 */ = 15==__shift_num_751 /* 242 */ ;
assign __cond_768 /* 242 */ = 16==__shift_num_751 /* 242 */ ;
assign __cond_769 /* 242 */ = 17==__shift_num_751 /* 242 */ ;
assign __cond_770 /* 242 */ = 18==__shift_num_751 /* 242 */ ;
assign __cond_771 /* 242 */ = 19==__shift_num_751 /* 242 */ ;
assign __cond_772 /* 242 */ = 20==__shift_num_751 /* 242 */ ;
assign __cond_773 /* 242 */ = 21==__shift_num_751 /* 242 */ ;
assign __cond_774 /* 242 */ = 22==__shift_num_751 /* 242 */ ;
assign __cond_775 /* 242 */ = 23==__shift_num_751 /* 242 */ ;
assign __mant_sft_722 /* 39 */ = (__shift_num_751<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_752} }&((__mant_721>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_753} }&((__mant_721>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_754} }&((__mant_721>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_755} }&((__mant_721>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_756} }&((__mant_721>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_757} }&((__mant_721>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_758} }&((__mant_721>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_759} }&((__mant_721>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_760} }&((__mant_721>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_761} }&((__mant_721>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_762} }&((__mant_721>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_763} }&((__mant_721>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_764} }&((__mant_721>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_765} }&((__mant_721>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_766} }&((__mant_721>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_767} }&((__mant_721>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_768} }&((__mant_721>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_769} }&((__mant_721>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_770} }&((__mant_721>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_771} }&((__mant_721>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_772} }&((__mant_721>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_773} }&((__mant_721>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_774} }&((__mant_721>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_775} }&((__mant_721>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_723 /* 47 */ = (__sign_718 /* 48 */ )?(~__mant_sft_722 /* 48 */ ):__mant_sft_722 /* 49 */  /* 49 */ ;
assign ___s_reg_711[34:27] /* 51 */ = (__ctrl_valid_92 /* 52 */ )?(__expn_aln_725 /* 53 */ ):__s_reg_711[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_711[26:0] /* 57 */ = (__ctrl_valid_92 /* 58 */ )?(__mant_sgn_717+__mant_sgn_723+__sign_712+__sign_718 /* 59 */ ):__s_reg_711[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_776 /* 63 */ = __expn_d_720-__expn_d_714 /* 63 */ ;
assign __expn_aln_725 /* 64 */ = (__expn_dif_776[8] /* 65 */ )?(__expn_d_714 /* 66 */ ):__expn_d_720 /* 68 */  /* 67 */ ;
assign __expn_10r_777 /* 70 */ = __s_reg_711[34:27] /* 70 */ ;
assign __mant_10_778 /* 71 */ = __s_reg_711[26:0] /* 71 */ ;
assign __mant_10_abs_779 /* 73 */ = (__mant_10_778[26] /* 74 */ )?(~__mant_10_778 /* 74 */ ):__mant_10_778 /* 75 */  /* 75 */ ;
assign __mant_padded_780 /* 77 */ = { __mant_10_abs_779,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_782 /* 82 */ = !__mant_10_abs_779 /* 82 */ ;
assign __lead_zeros_781 /* 84 */ = (__mant_10_abs_779[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_779[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_783 /* 93 */ = __expn_10r_777+2-__lead_zeros_781 /* 93 */ ;
assign __sum_sign_784 /* 94 */ = __mant_10_778[26] /* 94 */ ;
assign __sum_expn_785 /* 95 */ = (__all_zero_782||__expn_sft_783[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_783[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_783[7:0] /* 98 */  /* 98 */ ;
assign __cond_787 /* 242 */ = 0==__lead_zeros_781 /* 242 */ ;
assign __cond_788 /* 242 */ = 1==__lead_zeros_781 /* 242 */ ;
assign __cond_789 /* 242 */ = 2==__lead_zeros_781 /* 242 */ ;
assign __cond_790 /* 242 */ = 3==__lead_zeros_781 /* 242 */ ;
assign __cond_791 /* 242 */ = 4==__lead_zeros_781 /* 242 */ ;
assign __cond_792 /* 242 */ = 5==__lead_zeros_781 /* 242 */ ;
assign __cond_793 /* 242 */ = 6==__lead_zeros_781 /* 242 */ ;
assign __cond_794 /* 242 */ = 7==__lead_zeros_781 /* 242 */ ;
assign __cond_795 /* 242 */ = 8==__lead_zeros_781 /* 242 */ ;
assign __cond_796 /* 242 */ = 9==__lead_zeros_781 /* 242 */ ;
assign __cond_797 /* 242 */ = 10==__lead_zeros_781 /* 242 */ ;
assign __cond_798 /* 242 */ = 11==__lead_zeros_781 /* 242 */ ;
assign __cond_799 /* 242 */ = 12==__lead_zeros_781 /* 242 */ ;
assign __cond_800 /* 242 */ = 13==__lead_zeros_781 /* 242 */ ;
assign __cond_801 /* 242 */ = 14==__lead_zeros_781 /* 242 */ ;
assign __cond_802 /* 242 */ = 15==__lead_zeros_781 /* 242 */ ;
assign __cond_803 /* 242 */ = 16==__lead_zeros_781 /* 242 */ ;
assign __cond_804 /* 242 */ = 17==__lead_zeros_781 /* 242 */ ;
assign __cond_805 /* 242 */ = 18==__lead_zeros_781 /* 242 */ ;
assign __cond_806 /* 242 */ = 19==__lead_zeros_781 /* 242 */ ;
assign __cond_807 /* 242 */ = 20==__lead_zeros_781 /* 242 */ ;
assign __cond_808 /* 242 */ = 21==__lead_zeros_781 /* 242 */ ;
assign __cond_809 /* 242 */ = 22==__lead_zeros_781 /* 242 */ ;
assign __cond_810 /* 242 */ = 23==__lead_zeros_781 /* 242 */ ;
assign __cond_811 /* 242 */ = 24==__lead_zeros_781 /* 242 */ ;
assign __cond_812 /* 242 */ = 25==__lead_zeros_781 /* 242 */ ;
assign __sum_mant_786 /* 100 */ = (__all_zero_782 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_787} }&((__mant_padded_780[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_788} }&((__mant_padded_780[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_789} }&((__mant_padded_780[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_790} }&((__mant_padded_780[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_791} }&((__mant_padded_780[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_792} }&((__mant_padded_780[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_793} }&((__mant_padded_780[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_794} }&((__mant_padded_780[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_795} }&((__mant_padded_780[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_796} }&((__mant_padded_780[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_797} }&((__mant_padded_780[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_798} }&((__mant_padded_780[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_799} }&((__mant_padded_780[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_800} }&((__mant_padded_780[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_801} }&((__mant_padded_780[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_802} }&((__mant_padded_780[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_803} }&((__mant_padded_780[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_804} }&((__mant_padded_780[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_805} }&((__mant_padded_780[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_806} }&((__mant_padded_780[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_807} }&((__mant_padded_780[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_808} }&((__mant_padded_780[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_809} }&((__mant_padded_780[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_810} }&((__mant_padded_780[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_811} }&((__mant_padded_780[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_812} }&((__mant_padded_780[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_710[31] /* 108 */ = __sum_sign_784 /* 108 */ ;
assign __result_710[30:23] /* 109 */ = __sum_expn_785 /* 109 */ ;
assign __result_710[22:0] /* 110 */ = __sum_mant_786 /* 110 */ ;
assign __sum_imag_605 /* 172 */ = (__result_710 /* 111 */ ) /* 172 */ ;
assign ___complex_sum_606 /* 174 */ = (__ctrl_valid_96 /* 175 */ )?({ __sum_real_604,__sum_imag_605 } /* 176 */ ):__complex_sum_606 /* 178 */  /* 177 */ ;
assign __out_sub_133 /* 551 */ = (__complex_sum_606 /* 180 */ ) /* 551 */ ;
assign __wr_even_addr_48 /* 153 */ = __ctrl_even_addr_97 /* 153 */ ;
assign __wr_odd_addr_50 /* 154 */ = __ctrl_odd_addr_98 /* 154 */ ;
assign __wr_valid_45 /* 155 */ = __ctrl_valid_96 /* 155 */ ;
assign __wr_add_data_49 /* 156 */ = __out_add_132 /* 156 */ ;
assign ___wr_sub_data_51 /* 157 */ = __out_sub_133 /* 157 */ ;
assign __rd_even_addr_41 /* 160 */ = __t_35 /* 160 */ ;
assign __rd_odd_addr_43 /* 161 */ = __t_36 /* 161 */ ;
assign __rd_valid_38 /* 162 */ = __t_32 /* 162 */ ;
assign __t_33 /* 163 */ = __rd_ready_39 /* 163 */ ;
assign __t_34 /* 164 */ = __rd_grant_40 /* 164 */ ;
assign __t_35 /* 165 */ = __decode_even_addr_62 /* 165 */ ;
assign __t_36 /* 166 */ = __decode_odd_addr_63 /* 166 */ ;
assign __t_32 /* 167 */ = __decode_valid_61 /* 167 */ ;
assign sram__0__valid /* 170 */ = __sram_valid_104 /* 170 */ ;
assign sram__0__we_n /* 171 */ = __we_n_106 /* 171 */ ;
assign sram__0__addr /* 172 */ = __waddr_107 /* 172 */ ;
assign sram__0__wdata /* 173 */ = __wdata_108 /* 173 */ ;
assign __sram_ready_105 /* 174 */ = sram__0__ready /* 174 */ ;
assign __rdata_109 /* 175 */ = sram__0__rdata /* 175 */ ;
assign ___cell_idx_813 /* 194 */ = (__decode_valid_61 /* 215 */ )?((0 /* 187 */ ) /* 216 */ ):((1 /* 191 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__valid /* 195 */ = (__decode_valid_61 /* 215 */ )?((1'b1 /* 185 */ ) /* 216 */ ):((0 /* 189 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__addr /* 196 */ = (__decode_valid_61 /* 215 */ )?((__get_exp_valid_65 /* 186 */ ) /* 216 */ ):((0 /* 190 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__we_n /* 197 */ = 1 /* 197 */ ;
assign ___exp_sram_dly_814 /* 200 */ = exp_sram__ready /* 200 */ ;
assign ___r_37 /* 203 */ = (__exp_sram_dly_814&&__cell_idx_813==0 /* 204 */ )?(exp_sram__rdata /* 205 */ ):__r_37 /* 207 */  /* 206 */ ;
//register update logic
always_comb begin /* 138 */ 
  ___mult_result_157=__mult_result_157;
  if(__result_factor_154[47:46]==2'b01&&__ctrl_valid_80) begin  /* 139 */ 
  ___mult_result_157 /* 140 */ = { __result_sign_151,__result_exp_152[7:0],__valid_factor_norm_155 } /* 140 */ ;
  end
  else if(__result_factor_154[47]==1'b1&&__ctrl_valid_80) begin  /* 141 */ 
  ___mult_result_157 /* 142 */ = { __result_sign_151,__exp_add1_153[7:0],__valid_factor_shift_156 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_164=__mult_result_164;
  if(__result_factor_161[47:46]==2'b01&&__ctrl_valid_80) begin  /* 139 */ 
  ___mult_result_164 /* 140 */ = { __result_sign_158,__result_exp_159[7:0],__valid_factor_norm_162 } /* 140 */ ;
  end
  else if(__result_factor_161[47]==1'b1&&__ctrl_valid_80) begin  /* 141 */ 
  ___mult_result_164 /* 142 */ = { __result_sign_158,__exp_add1_160[7:0],__valid_factor_shift_163 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_171=__mult_result_171;
  if(__result_factor_168[47:46]==2'b01&&__ctrl_valid_80) begin  /* 139 */ 
  ___mult_result_171 /* 140 */ = { __result_sign_165,__result_exp_166[7:0],__valid_factor_norm_169 } /* 140 */ ;
  end
  else if(__result_factor_168[47]==1'b1&&__ctrl_valid_80) begin  /* 141 */ 
  ___mult_result_171 /* 142 */ = { __result_sign_165,__exp_add1_167[7:0],__valid_factor_shift_170 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_178=__mult_result_178;
  if(__result_factor_175[47:46]==2'b01&&__ctrl_valid_80) begin  /* 139 */ 
  ___mult_result_178 /* 140 */ = { __result_sign_172,__result_exp_173[7:0],__valid_factor_norm_176 } /* 140 */ ;
  end
  else if(__result_factor_175[47]==1'b1&&__ctrl_valid_80) begin  /* 141 */ 
  ___mult_result_178 /* 142 */ = { __result_sign_172,__exp_add1_174[7:0],__valid_factor_shift_177 } /* 142 */ ;
  end
end

//cell instance
endmodule
